【发布时间】:2019-03-30 10:23:22
【问题描述】:
我有一个托管在 nodejs 上的网站,使用 http-proxy-middleware 我将所有 api 调用代理到 ASP.NET API。
我将 ASP.NET api 部署在远程 IIS 服务器上(不是在我的计算机上,而是在域中),仅使用 NTLM 进行 Windows 身份验证,我在 web.config 中有这个:
<system.web>
<compilation debug="true" targetFramework="4.5.2" />
<httpRuntime targetFramework="4.5.2" />
<authentication mode="Windows" />
</system.web>
当我在本地 IIS 服务器(在我的计算机上)上设置我的网站并将其身份验证设置为匿名时,这可以正常工作,没有登录弹出窗口。
使用 NTLM 身份验证从邮递员调用 api 也可以正常工作。
但是,当我将网站部署到远程 IIS 服务器时,我可以毫无问题地打开网站,但是当网站查询 API 时,我得到一个不接受我的凭据 (mydomain\myusername) 的登录弹出窗口,而是显示在 chrome 中一次又一次地弹出,但在 IE 中尝试 3 次后停止并返回 401 未经授权的错误。
因为这可以在本地工作,所以我认为问题一定出在 IIS 服务器的某个地方,但我无法弄清楚它是什么。
【问题讨论】:
标签: c# asp.net node.js iis-8.5 iisnode