【问题标题】:Apache reverse proxy to node.js app using HTTPS not working correctly使用 HTTPS 的 node.js 应用程序的 Apache 反向代理无法正常工作
【发布时间】:2017-12-11 15:24:46
【问题描述】:

我目前有许多网络应用程序在我网站的不同子域上运行,并且使用 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 通知我安全证书不受信任,因为它是自签名的。我已经尝试更新它,但问题仍然存在。

【问题讨论】:

    标签: node.js apache https


    【解决方案1】:

    已修复!

    原来子域“server.myserver.com”是问题所在。那是我服务器的主机名,所以我猜是有冲突。

    【讨论】:

      猜你喜欢
      • 2017-01-21
      • 1970-01-01
      • 2018-01-21
      • 1970-01-01
      • 2015-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多