我不知道为什么在Jenkins更新到版本1.642.4(Ubuntu Server 15.04)之后,最初正确设置的反向代理现在变坏了。我目前的设置与Jenkins wiki中说的完全相同:
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://localhost:9090/ nocanon
ProxyPassReverse / http://localhost:9090/
AllowEncodedSlashes NoDecode
# Local reverse proxy authorization override
# Most unix distribution deny proxy by default (ie /etc/apache2/mods-enable$
<Proxy http://localhost:9090/*>
Order deny,allow
Allow from all
</Proxy>
答案 0 :(得分:0)
Apache Configuration应该具有ProxyPass的规范。如果启用了SSL,则必须设置X-Forwarded-Proto和X-Forwarded-Port。
ProxyPass / http://localhost:8080/ nocanon
AllowEncodedSlashes NoDecode
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"
您需要在Tomcat的catalina.properties文件中添加以下内容。仅更新Apache配置本身是不够的。
org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true