security - 对 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。浏览器认为这是一个混合内容请求并阻止它。
解决方案
你可以试试这个:设置一个安全的反向代理,通过 HTTPS 侦听请求,然后转身将请求中继到端口 3000。我使用这个技巧来保护不安全的 API 调用。它也应该足以通过浏览器的安全检查。
以下是一些 IIS 示例:
https://weblogs.asp.net/owscott/creating-a-reverse-proxy-with-url-rewrite-for-iis
推荐阅读
- angular - 单击mat-panel-description时如何制作不要展开面板
- amazon-web-services - AWS Cognito:在 Auth.signIn 中出现错误(验证 amazon-cognito-identity-js 是否已链接)
- android - 错误 de firebase 无效的文档参考
- openmdao - InterpND for one dimension
- python - How do I get the values under cursor instead of coords?
- oracle - I'd like to return a single row in a query that joins two tables through a one to many relationship
- python - Python convert zip file to bytes stream
- html - What's the best way to unwrap tags with nokogiri?
- angular - Play An MP3 in Angular Using
- python - Python:从json中提取第二级到数据框