![当我们的 .NET Core 应用程序服务器向外部 IP 地址受限的服务器发出请求时,如何知道使用了哪个源 IP 地址?](https://linux22.com/image/791436/%E5%BD%93%E6%88%91%E4%BB%AC%E7%9A%84%20.NET%20Core%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%90%91%E5%A4%96%E9%83%A8%20IP%20%E5%9C%B0%E5%9D%80%E5%8F%97%E9%99%90%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8F%91%E5%87%BA%E8%AF%B7%E6%B1%82%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E7%9F%A5%E9%81%93%E4%BD%BF%E7%94%A8%E4%BA%86%E5%93%AA%E4%B8%AA%E6%BA%90%20IP%20%E5%9C%B0%E5%9D%80%EF%BC%9F.png)
我一直在使用 Fiddler Classic 捕获来自我们的 IIS Web 服务器的流量,该服务器运行 .NET 核心应用程序,该应用程序仅通过 HTTPS Tls1.2 向外部 IP 地址受限的服务器(测试和生产的 IP 地址均受限制)发出请求。我能够从我们的所有 3 台服务器(测试、uat 和生产)向组织测试 URL 成功发出请求,但是当我向外部组织生产 URL 发出请求时,这些请求会失败。我已将我们所有 3 台服务器的公共 IP 地址发送给外部组织,因此它们已添加到白名单中。我无法从 Fiddler 日志中得知源 IP 地址,它只显示环回地址 127.0.0.1。如何获取发出请求的源 IP 地址?
SoapUI 显示对生产 URL 的请求出现 HTTP 500 内部服务器错误,而事件查看器 .NET 运行时错误显示 System.Net.Http.HttpRequestException:响应状态代码未指示成功:401。我需要以某种方式验证失败请求的 IP 地址是什么。我假设请求应该来自我们每台服务器的公共 IP 地址,但事实似乎并非如此。
我已经与我们的网络团队核实过,防火墙并没有阻止这些请求。
我们有一个连接到我们的 VPN 的内部桌面应用程序,它将向我们的内部 .NET 核心应用程序服务器发出 HTTPS GET,然后该服务器将依次向外部组织服务器发出 HTTPS GET 以返回 pdf 文件。
谢谢
答案1
事实证明,问题在于外部组织不允许生产服务器和测试服务器使用相同的 IP 地址,这给网络团队和我带来了很大的困扰。
谢谢您的意见。