Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js NodeJS+;CouchDB:从HTTP迁移到HTTPS_Node.js_Ssl_Ionic Framework_Https_Couchdb - Fatal编程技术网

Node.js NodeJS+;CouchDB:从HTTP迁移到HTTPS

Node.js NodeJS+;CouchDB:从HTTP迁移到HTTPS,node.js,ssl,ionic-framework,https,couchdb,Node.js,Ssl,Ionic Framework,Https,Couchdb,我有以下设置: 我通过远程桌面登录的windows服务器 在这个服务器中,我移动了我的ionic/node.js项目的www文件夹 此服务器通过端口80上的http充当web服务器 此网站使用端口5984上的couchdb数据库 现在,我正在尝试将我的整个系统迁移到https 为了尝试,我制作了一个我自己签名的SSL证书(当一切正常时,我会购买一个合适的SSL证书)。 现在,有了证书,我可以访问以下网站: 但我有以下问题: 我的浏览器一直检测到该网站不安全,我必须在访问之前对其进行授权。

我有以下设置:

  • 我通过远程桌面登录的windows服务器
  • 在这个服务器中,我移动了我的ionic/node.js项目的www文件夹
  • 此服务器通过端口80上的http充当web服务器
  • 此网站使用端口5984上的couchdb数据库
现在,我正在尝试将我的整个系统迁移到https

为了尝试,我制作了一个我自己签名的SSL证书(当一切正常时,我会购买一个合适的SSL证书)。 现在,有了证书,我可以访问以下网站:

但我有以下问题:

  • 我的浏览器一直检测到该网站不安全,我必须在访问之前对其进行授权。我认为这是因为SSL是自签名的
  • 如果打开Chrome developer tools,我会收到以下消息: 混合内容:位于“”的页面通过HTTPS加载,但请求了不安全的XMLHttpRequest终结点“”。此请求已被阻止;内容必须通过HTTPS提供 我必须授权它,在Chrome中,通过以下按钮


如何解决这个问题?显然,我希望用户不必授权这么多东西。

我在Ubuntu而不是Windows上运行服务器,但解决这一问题的一种方法是在服务器上使用反向代理。有许多教程可帮助您使用(免费SSL证书)设置Nginx,以便服务器的HTTPS连接转到端口443上的Nginx,然后Nginx将现有web服务器的请求重定向到端口80

如果CouchDb应该从internet访问,而不仅仅是Node.js,那么您可以使用Nginx将传入的CouchDb请求从端口443重定向到端口5984


当然,您也可以设置已经用作反向代理的任何web服务器。但是使用Nginx是一条很好的道路,在这里和其他地方都有大量的安装和配置帮助/建议。

我在Ubuntu而不是Windows上运行服务器,但解决这个问题的一个方法是在服务器上使用反向代理。有许多教程可帮助您使用(免费SSL证书)设置Nginx,以便服务器的HTTPS连接转到端口443上的Nginx,然后Nginx将现有web服务器的请求重定向到端口80

如果CouchDb应该从internet访问,而不仅仅是Node.js,那么您可以使用Nginx将传入的CouchDb请求从端口443重定向到端口5984


当然,您也可以设置已经用作反向代理的任何web服务器。但是使用Nginx是一条很好的道路,在这里和其他地方都有大量的安装和配置帮助/建议。

是吗?另外,要确定哪个请求仍然通过HTTP完成,请检查chrome开发工具中的网络选项卡。也可能正在加载外部映像或脚本。我没有为SSL设置CouchDB。这就是问题所在,谢谢,是吗?另外,要确定哪个请求仍然通过HTTP完成,请检查chrome开发工具中的网络选项卡。也可能正在加载外部映像或脚本。我没有为SSL设置CouchDB。这就是问题所在,谢谢