Update Gerrit proxy configuration.
Replace the apache reverse proxy configs with the recommended settings from the gerrit documentation[1]. Explicit use of ProxyPassMatch <URL> ! is used to handle cases where we do not want to proxy through to gerrit (such as for '^/p/') where an offload is expected/desired. Using RewriteRule was causing the double slashes in Gerrit url (i.e. https://review-dev.openstack.org//#/q/status:open). Removing it fixes this issue. Similarly, the gerrit.token query parameter was being dropped when the RewriteRule was used. More explanation can be found in gerrit upstream bug[2]. [1] https://gerrit-review.googlesource.com/Documentation/ config-reverseproxy.html#_apache_2_configuration [2] https://code.google.com/p/gerrit/issues/detail?id=3365 Change-Id: Ied8ce7a0389253c10225a8bf3671f09a879bb061 Co-Authored-By: Khai Do <zaro0508@gmail.com>
This commit is contained in:
@@ -16,7 +16,7 @@
|
||||
<VirtualHost *:443>
|
||||
ServerName <%= scope.lookupvar("gerrit::vhost_name") %>
|
||||
ServerAdmin <%= scope.lookupvar("gerrit::serveradmin") %>
|
||||
AllowEncodedSlashes NoDecode
|
||||
AllowEncodedSlashes On
|
||||
|
||||
ErrorLog ${APACHE_LOG_DIR}/gerrit-ssl-error.log
|
||||
|
||||
@@ -51,17 +51,21 @@
|
||||
RewriteCond %{HTTP_HOST} !<%= scope.lookupvar("gerrit::vhost_name") %>
|
||||
RewriteRule ^.*$ <%= scope.lookupvar("gerrit::canonicalweburl") %>
|
||||
<% end -%>
|
||||
|
||||
ProxyRequests off
|
||||
ProxyVia off
|
||||
ProxyPreserveHost on
|
||||
|
||||
<% if scope.lookupvar("gerrit::replicate_local") -%>
|
||||
RewriteCond %{REQUEST_URI} !^/p/
|
||||
ProxyPassMatch ^/p/ !
|
||||
<% end -%>
|
||||
<% if scope.lookupvar("gerrit::contactstore") == true -%>
|
||||
RewriteCond %{REQUEST_URI} !^/fakestore$
|
||||
ProxyPassMatch ^/fakestore$ !
|
||||
<% end -%>
|
||||
<% if scope.lookupvar("gerrit::robots_txt_source") != "" -%>
|
||||
RewriteCond %{REQUEST_URI} !^/robots.txt$
|
||||
ProxyPassMatch ^/robots.txt$ !
|
||||
<% end -%>
|
||||
RewriteRule ^/(.*)$ http://localhost:8081/$1 [NE,P]
|
||||
|
||||
ProxyPass / http://localhost:8081/ nocanon
|
||||
ProxyPassReverse / http://localhost:8081/
|
||||
|
||||
<% if scope.lookupvar("gerrit::robots_txt_source") != "" -%>
|
||||
|
||||
Reference in New Issue
Block a user