首页 > 解决方案 > 对 PrizmDoc 客户端的特定端口上的请求使用 HTTPS

问题描述

我有一个在 HTTPS 上运行的网站,它使用 Prizmdoc API。该网站使用“http://:3000”调用 Prizmdoc API,其中 3000 是 Prizmdoc API 用于接受调用的端口。

由于我的网站在 HTTPS 上运行,因此浏览器认为此调用不安全。据我所知,我无法在 Prizmdoc 中选择 HTTPS。

我需要将 Prizmdoc API 地址改为“https://:3000”。

我尝试检查防火墙设置,但没有允许特定端口的 HTTPS 连接的选项。我尝试重新安装 Prizmdoc API 客户端以查看它是否允许使用 HTTPS,但没有运气。

我还考虑过使用 IIS url 重写,但 prizmdoc API 甚至没有托管在 IIS 上。因此,我无法弄清楚 API 如何通过端口 3000 接受请求,以及如何允许 HTTPS 调用该端口。

我可以尝试的其他选项是提供 HTTP 请求而不是 HTTPS,但我不确定在 C# 中是否可行。

由于我的网站和 Prizmdoc API 都托管在同一台服务器上,因此网站应该可以使用 SSL 调用不同的端口。但简单地说,我没有想法尝试。

TL;DR 网站和第三方 API 在同一台服务器上运行。网站使用 IP 地址和端口调用 API。浏览器认为这是一个混合内容请求并阻止它。

标签: securityiishttpsreverse-proxy

解决方案


你可以试试这个:设置一个安全的反向代理,通过 HTTPS 侦听请求,然后转身将请求中继到端口 3000。我使用这个技巧来保护不安全的 API 调用。它也应该足以通过浏览器的安全检查。

以下是一些 IIS 示例:

https://weblogs.asp.net/owscott/creating-a-reverse-proxy-with-url-rewrite-for-iis

https://blogs.msdn.microsoft.com/friis/2016/08/25/setup-iis-with-url-rewrite-as-a-reverse-proxy-for-real-world-apps/


推荐阅读