我正在服务器 A 上建立一个网站(已注册域名),用于人们创建和运行他们的“应用程序”。
这些“应用程序”实际上是运行在服务器 B 上的 docker 容器,在容器中,有一个可以直接访问的小型 Web 应用程序,例如:
http://IP_ADDR_OF_SERVER_B:PORT
Run Code Online (Sandbox Code Playgroud)
PORT 是一个随机的大数字,它映射到 docker 容器。现在我可以使 SSL 证书在服务器 A 上工作,以便通过访问它可以正常工作:
https://DOMAIN_NAME_OF_SERVER_A
Run Code Online (Sandbox Code Playgroud)
问题是,我通过访问上面的“http”将“应用程序”包含在 iframe 中,因此我的浏览器(Chrome)拒绝打开它并报告错误为:
Mixed Content: The page at 'https://DOMAIN_NAME_OF_SERVER_A/xxx' was loaded over HTTPS, but requested an insecure resource 'http://IP_ADDR_OF_SERVER_B:PORT/xxx'. This request has been blocked; the content must be served over HTTPS.
那么,我应该如何处理这样的问题呢?
我是一个完整的新手,如果你能分享一些关于如何建立一个健康的 https 网站同时以适当的方式解决此类问题的知识,我将不胜感激。
好的,我想我只是抛出了问题的大纲,这里有更多细节。
我看到使用 https 提供 iframe 请求是完整且直接的,那么它就不会再让我感到困惑了。
然而问题是,由于所有“应用程序”都是动态创建/删除的,看来我需要为每个应用程序准备许多证书。
自签名证书是否可以在不被浏览器阻止或投诉的情况下工作?或者我是否有办法使用一个 SSL 证书为所有“应用程序”提供服务?
服务器 A:运行 node.js 网站,侦听端口 5000 并使用 Nginx proxy_pass 提供服务。
server {
listen …Run Code Online (Sandbox Code Playgroud)