localhost 和 localhost:4200 角度的 CORS 问题
Posted
技术标签:
【中文标题】localhost 和 localhost:4200 角度的 CORS 问题【英文标题】:localhost and localhost:4200 CORS issue in angular 【发布时间】:2019-09-10 01:09:05 【问题描述】:在使用 ng serve
-
实现prox.conf.json然后运行
ng serve --proxy config proxy.conf.json
"/`OSTNextService`":
"target": "https://localhost/OSTNextService",
"secure": true,
"pathRewrite":
"^/OSTNextService": ""
,
"`changeOrigin": true`
将 IIS 标头设置为指定域。在我的情况下 https://localhost:4200
设置服务 global.asax 文件
没有什么对我有用,并且出现像
这样的错误访问 XMLHttpRequest 在 'https://localhost/OSTNextService/OSTPortalService.svc/GetUserName' 来自原点“https://localhost:4200”已被 CORS 策略阻止: 响应中“Access-Control-Allow-Origin”标头的值 当请求的凭证模式为 '包括'。发起请求的凭证模式 XMLHttpRequest 由 withCredentials 属性控制。
当我在 IIS 中托管应用程序并将 dist 文件夹映射到它时,一切正常。但是每次我更改构建应用程序所需的 .ts 文件几乎都是双倍的浪费。请通过建议我在这里缺少什么来提供帮助。
【问题讨论】:
您的本地主机是否在安全协议上运行? 【参考方案1】:在代理文件中使用“/OSTNextService”而不是“/OSTNextService
”。如果您只使用"target": "https://localhost/"
,则不需要rewrite
,
也不要在你的应用程序中使用完整的 url,而是一个相对的/OSTNextService/OSTPortalService.svc/GetUserName
,然后它会点击你的代理并转发到 localhost:80/...
我认为没有必要修改 IIS 标头。
【讨论】:
以上是关于localhost 和 localhost:4200 角度的 CORS 问题的主要内容,如果未能解决你的问题,请参考以下文章
localhost 和 localhost:4200 角度的 CORS 问题
用户'localhost'@'localhost'的访问被拒绝(使用密码:YES)在双版本Xampp和不同端口中
localhost,127.0.0.1 和 本机IP 三者的区别
UnknownEndpoint:无法访问的主机:“localhost”。尝试使用 express 和 dynamodb local 连接到 localhost