0

问题:为什么我的生产站点的域 URL 以我的请求 URL 为前缀?


这很可能是 Azure 部署问题,因为serve -s dist在本地运行时不会发送带有前缀 URL 的请求。

背景

我在用着:

  • .NET 网络 API
  • Azure 应用服务
  • "npm": "^6.14.5",
  • "vue": "^2.6.11",
  • "vue-router": "^3.1.6",
  • "vuex": "^3.1.3",
  • "axios": "^0.19.2",
  • 未设置 baseURL
  • 未使用代理表


地方发展正在发生什么

我使用以下两种方式调用我的 API,并且它们都使用正确的相应请求 URL 正常工作。

  1. axios .post( "https://API.azurewebsites.net/api/Login"

    在标准 Chrome 中,这会返回一个405预检请求选项请求方法。
    但这200在禁用的安全 Chrome 中有效并返回,请求 URL 为https://API.azurewebsites.net/api/Login

  2. axios .post( "https://cors-anywhere.herokuapp.com/https://API.azurewebsites.net/api/Login"

    这个添加https://cors-anywhere.herokuapp.com前缀并200以标准浏览模式返回。请求网址为 https://cors-anywhere.herokuapp.com/https://API.azurewebsites.net/api/Login

部署到 Azure 应用服务后发生了什么

  1. 运行npm run build生成dist文件夹。
  2. Azure App Service使用Windows和配置新的node runtime stack
  3. 使用dist_Kudu Console
  4. 该应用程序已在https://vue.azurewebsites.net启动并运行
  5. 无论方法2调用API的方法1,在生产站点上,它显示请求URL是,它显示请求URL是https://vue.azurewebsites.net/%22https://API.azurewebsites.net/api/登录
4

0 回答 0