需求
- 在浏览器地址栏输入IP地址或者输入域名(没有参数时),自动跳转到8080端口。如输入http://12.34.56.78,自动访问http://12.34.56.78:8080;对于http://12.34.56.78/pub/ 依然访问80端口。
- 8080端口被封的情况下,实现第一个需求
URL重定向可以实现第一个需求,但是因为8080端口被封,对于第二个需求,不能成功
URL重定向:
在/.htaccess文件中:
<Files ~ "^.(htaccess|htpasswd)$">
deny from all
</Files>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/$
RewriteRule / http://%{HTTP_HOST}:8080
此时地址栏会看见端口号8080
使用代理可以实现1、2两个需求
新建一个Apache配置文件
Jenkins.conf:
<VirtualHost *:80>
ServerName http://12.34.56.78
ProxyPreserveHost On
ProxyRequests Off
# 排除某些不需要跳转到8080的目录
ProxyPass /pub/ !
ProxyPass /centos7_x64 !
# 在内部代理,可以从内部访问到8080端口
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>
此时地址栏不会显示端口号8080