Centos
httpd 不提供來自 tomcat 的相對 url,為什麼不呢?
在
CentOS 7
伺服器中,我試圖設置httpd
為充當reverse proxy
fortomcat
。從我httpd
輸入的意義上說,我執行得很完美,http/mydomain.com
它提供了位於指定DocumentRoot
. 我也可以完美tomcat
執行,當我輸入. 該文件將所有未經身份驗證的使用者重定向到url 模式,以便他們可以在使用該站點之前登錄。這在. 但是,當我註釋掉並添加and時,我在瀏覽器中收到以下錯誤消息:tomcat``war``http/my.server.ip:8080``war``/login``tomcat``DocumentRoot``ProxyPass``ProxyPassReverse
Proxy Error The proxy server received an invalid response from an upstream server. The proxy server could not handle the request GET /login. Reason: DNS lookup failure for: server.ip.address:8009login
我
VirtualHost
的如下:<VirtualHost *:80> ServerName www.mydomain.com ServerAlias mydomain.com ErrorLog /var/log/httpd/mydomain_com_error.log CustomLog /var/log/httpd/mydomain_com_requests.log combined ProxyPass / ajp://server.ip.address:8009 ProxyPassReverse / ajp://server.ip.address:8009 </VirtualHost>
我還確保取消註釋以下連接器
server.xml
:<!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
您可以通過點擊此連結
server.xml
閱讀位於文件共享站點中的整個文件。
Apache
顯然是在與文件交談tomcat
並使用war
文件,因為apache
想出瞭如何重新定向到/login
url 模式。但是如何修復我的配置,以便正確提供 /login 和其他相關 URL?我不確定是否
mod_jk
安裝。
將 a 附加
/
到您的ProxyPass
兩條線,因為它似乎tomcat
重定向到login
而不是/login
. 採用:ProxyPass / ajp://server.ip.address:8009/ ProxyPassReverse / ajp://server.ip.address:8009/