服务器的apache上配置了redmine和gerrit,redmine使用默认端口80,gerrit按照网上配置httpd.conf,
<VirtualHost *>
ServerName localhost
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location /login/>
AuthType Basic
AuthName "Gerrit Code Review"
AuthBasicProvider file
AuthUserFile /home/xx/gerrt_sites/etc/passwords
Require valid-user
</Location>
ProxyPass / http:
</VirtualHost>
这样配置的结果就是通过127.0.0.1打开gerrit,但是不能打开127.0.0.1/redmine。网上说可以通过在apache中配置多站点来解决,但是偶配置了多次都不成功,改用多端口解决。方法:
1.首先在/etc/apache2/ports.conf中添加
NameVirtualHost *:8090
Listen 8090
2.配置/etc/apache2/httpd.conf:
ServerName localhost
<VirtualHost *:8090>
ServerName localhost
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
<Proxy *:8090>
Order deny,allow
Allow from all
</Proxy>
<Location /login/>
AuthType Basic
AuthName "Gerrit Code Review"
AuthBasicProvider file
AuthUserFile /home/xx/gerrit_sites/etc/passwords
Require valid-user
</Location> ProxyPass / http://127.0.0.1:8088/
ProxyPassReverse / http://127.0.0.1:8088/
SetEnv force-proxy-request-1.0.1 SetEnv proxy-nokeepalive 1
</VirtualHost>
3.ProxyPass / http://127.0.0.1:8088/,这里的配置必须和/home/xx/gerrt_sites/etc/gerrit.config文件里面的
[httpd]
listenUrl = http://*:8088/ 相一致。
打开:127.0.0.1:8090,成功,127.0.0.1/redmine也可以打开。
之前一直用http://127.0.0.1:8088/来打开,结果总报错:
Check the HTTP server's authentication settings.
The HTTP server did not provide the username in the header when it forwarded the request to Gerrit Code Review.
If the HTTP server is Apache HTTPd, check the proxy configuration includes an authorization directive with the proper location, ensuring it ends with '/':
虽然可以使用了,但是感觉用多端口比较麻烦,总忘记。再看看多站点怎么配置吧!
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。