具有 SSL 处理的 Apache 反向代理

具有 SSL 处理的 Apache 反向代理

我正在尝试使用 apache 作为反向代理,并从底层 Node Js 应用程序中卸载 SSL 处理。我已经定义了配置,但系统似乎并没有尝试执行反向代理部分。例如,在 ssl_error_log 中,我看到以下内容:

[错误] 文件不存在:/etc/httpd/htdocs

每当我访问站点的根目录时,似乎都会发生这种情况。我不确定,但它似乎试图从该目录提供页面。我的 apache 配置如下:

<VirtualHost *:443>
    ServerName portal.somewhere.com
    SSLEngine On
    SSLProxyEngine On
    ProxyRequests Off
    ProxyPreserveHost On

    SSLCertificateFile /etc/pki/tls/certs/wildcard.somewhere.com.crt
    SSLCertificateKeyFile /etc/pki/tls/private/wildcard.somewhere.com.key


    ProxyPass /  http://12.7.20.78:80/
    ProxyPassReverse / http://12.7.20.78:80/

    ErrorLog logs/portal.somewhere.com-error_log
    CustomLog logs/portal.somewhere.com-access_log common

</VirtualHost>

当我通过 ssh 连接到 12.7.20.78 并运行 tcpdump 时,我看不到任何活动到达该机器。为了进行调试,我能够将上述配置翻转为在端口 80 上运行的配置(无 SSL):

<VirtualHost *:80>
    ServerName portal.somewhere.com
    ProxyRequests Off

    ProxyPass /  http://12.7.20.78:80/
    ProxyPassReverse / http://12.7.20.78:80/

    ErrorLog logs/portal.somewhere.com-error_log
    CustomLog logs/portal.somewhere.com-access_log common

</VirtualHost>

运行此配置时,系统将转发请求并从机器提供页面:http://12.7.20.78没有任何问题。tcpdump 已确认这一点。

答案1

嗯,443 上设置了两个配置,造成了混乱。删除了旧的。

相关内容