Apache-2.2
具有 SSL 處理的 Apache 反向代理
我正在嘗試使用 apache 作為反向代理,並從底層 Node Js 應用程序中解除安裝 SSL 處理。我已經定義了配置,但它看起來好像系統正在嘗試執行反向代理部分。例如在 ssl_error_log 我看到以下內容:
$$ error $$文件不存在:/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 證實了這一點。
好吧,在 443 上設置了兩個配置,導致了混亂。刪除了舊的。