【问题标题】:NodeJS + CouchDB: Migrate from HTTP to HTTPSNodeJS + CouchDB:从 HTTP 迁移到 HTTPS
【发布时间】:2019-02-21 11:59:01
【问题描述】:

我有以下设置:

  • 我通过远程桌面登录的 Windows 服务器;
  • 在此服务器中,我移动了我的 ionic/node.js 项目的 www 文件夹;
  • 此服务器通过端口 80 上的 http 作为 Web 服务器工作;
  • 本网站在端口 5984 上使用 couchdb 数据库。

现在,我正在尝试将整个系统迁移到 https。

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

https://www.mywebsite.it:3000/

但是我有以下问题:

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

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

【问题讨论】:

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

标签: node.js ssl ionic-framework https couchdb


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 2016-07-28
    • 2015-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多