node.js - 使用 HTTPS 的 Apache 反向代理到 node.js 应用程序无法正常工作

标签 node.js apache https

我目前有许多网络应用程序在我网站的不同子域上运行,并且使用 Let's Encrypt 和 Certbot 成功设置了 HTTPS。我的服务器 ( http://localhost:3001 ) 上也运行着一个 Node 应用程序,我的所有 Web 应用程序都连接到该应用程序。我已经为要运行的 Node.js 应用程序设置了一个子域,并为其获取了 SSL 证书。

在此子域的 VirtualHost 条目中,我使用 ProxyPass 指向我的 Node 应用程序,我的配置如下所示:

<VirtualHost MY_IP_ADDRESS:443> ServerName server.myserver.com ProxyPass / http://MY_IP_ADDRESS:3001/ ProxyPassReverse / http://MY_IP_ADDRESS:3001/ SSLCertificateFile /etc/letsencrypt/live/server.myserver.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/server.myserver.com/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf SSLCertificateChainFile /etc/letsencrypt/live/server.myserver.com/chain.pem </VirtualHost>

我面临的问题是,当我尝试访问 https://server.myserver.com 时浏览器通知我连接不安全(因此,现在访问 server.myserver.com 的任何其他应用程序都是如此)。

当谈到服务器配置时,我的知识非常有限,所以我不知道问题是什么。这是 Apache 问题还是我的 Node 应用程序需要使用 HTTPS(到目前为止我的研究表明不需要......)?

编辑:我在 CentOS 7 上运行 Apache 2。Node 应用程序是一个运行 HTTP 服务器的快速应用程序。 Firefox 通知我安全证书不受信任,因为它是自签名的。我已经尝试更新它,但问题仍然存在。

最佳答案

已修复!

事实证明,子域“server.myserver.com”是问题所在。这是我服务器的主机名,所以我猜有冲突。

关于node.js - 使用 HTTPS 的 Apache 反向代理到 node.js 应用程序无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47756082/

相关文章:

node.js - Mongoose 用排序和限制填充虚拟

javascript - 使用 JSON Web token 和 node.js/express 保护 URL 的正确方法

node.js - 如何检查 Node express中间件上变量的内容(调试)

javascript - WebSockets : useful for reducing overhead?

apache - Apache 代理服务器后面的 TeamCity

apache - 如何在 CentOS 6.6 上将 apache 2.2.15 升级到 apache 2.4.12?

ios - 用于在 iOS 上运行 HTTPS 服务器的 SSL 身份证书

regex - 对 URL 变量使用 MOD_REWRITE 并在不使用时删除空参数

python - 使用 python 和 http.client 在发布请求中包含证书的示例

php - 重定向到非 https 页面