当部署在子目录中时,Angular 2 http请求URL正在被更改

时间:2017-03-13 01:38:24

标签: http angular url https

我有一个相当简单,有角度的cli生成的应用程序,在本地和在Web服务器的根部署时可以正常工作。 当我将它部署到子文件夹时,它可以工作,但http请求url从指定的绝对URL更改(因此失败)。

该网站位于 mysite.myserver.com/subfolder api服务器在 api.myserver.com

代码剪断了调用api

console.log(`Using ${url} for authentication`);
const  x = this.http.post(url, …

运行时输出

  

使用https:/api.myserver.com/v1/authentication进行身份验证

     

https://mysite.myserver.com/api.myserver.com/v1/authentication 405   (不允许)

所以你可以看到它正在将根添加到api url的前面。

我正在建设

  

ng build --base-href / subfolder /

我的index.html有

<base href = "/">

这样做是因为bot api。而且神秘。在同一台服务器上?更重要的是 - 我可以做些什么来避免这个问题(除了将API移动到另一台服务器?)

**更新:似乎只有当网站位于https下时才会出现此问题 - 无论它是否位于子文件夹中......

1 个答案:

答案 0 :(得分:0)

线索在那里 - 但我们花了几个小时才跳出来对我们说:

使用https:/api.myserver.com/v1/authentication进行身份验证

https后只有一个斜杠: