我有一个使用HTTPS的已发布网站。该站点需要与HTTP节点Express API进行通信。 API在我的本地计算机上运行。在我将客户端应用程序切换为使用HTTPS之前,一切正常。现在我收到混合内容警告。我一直在阅读反向代理,并想知道这是否可以解决我的问题。是否可以将请求代理到我的localhost?或者localhost是否指向代理所在的服务器?
我一直在考虑使用nginx作为反向代理服务器,但我没有使用代理的经验而不是积极的如何去做。
在我深入研究之前,我主要想知道是否可能。
答案 0 :(得分:0)
是的,这是使用nginx(或任何其他反向代理)的非常标准的用例。您可以配置需要转发到后端应用程序和代理(通过proxy_pass指令)的位置前缀等。任何静态内容都可以直接从nginx提供。所有这些都可以落后于nginx。
假设您的应用程序永远不会发出使用“http://”的绝对URL,这应解决您的混合内容警告。
您可能希望阅读一些教程,但配置的基础知识将是:
server {
listen 443 ssl; # you can also add http2
server_name hostnames that you listen for;
ssl_certificate_key /path/to/cert.key;
ssl_certificate /path/to/cert.pem;
root /var/www/sites/foo.com;
location /path/handled/by/application {
proxy_pass http://localhost:8000; # or whatever port is
}
}