VueJS请求一个不安全的XMLHttpRequest端点

时间:2017-08-04 23:13:59

标签: javascript laravel vue.js digital-ocean lets-encrypt

我有一个带有Laravel后端的VueJs应用程序作为API。

在本地运行时,应用程序按预期使用https工作,但是当在生产服务器上时,我收到Requested an insecure XMLHttpRequest endpoint消息。

我的服务器位于Digital Ocean,已使用RunCloud进行设置,并通过LetsEncrypt启用了SSL。

可在此处查看该应用程序:https://vehicletrader.sweney.co/#/

请注意,在此阶段,没有围绕API的授权。

任何建议都会有所帮助。

1 个答案:

答案 0 :(得分:1)

请求网址末尾的斜杠/是我的原因。

我的axios调用是一个简单的axios.post(this.apiUrl() + '/hello/'),其中apiUrl()返回一个https链接。

在本地,它正在运行但是在CloudFlare后面的prod服务器上,它会返回insecure XMLHttpRequest endpoint错误,因为结果是通过http提供的。

我在浏览器开发工具的“网络”标签中注意到,网址返回的是 301 - 永久移动,紧接着它后面是关于不安全端点的错误。

我在/之后删除了/hello并且boof,它可以正常工作。

在删除上一个/之前我尝试了什么:

  1. 确保Laravel强制使用HTTPS。 (没有工作)
  2. 确保axios的baseURL使用https。 (没有工作)
  3. 硬编码HTTPS网址。 (没有工作)
  4. 使用get代替post。 (没有工作)