最近开发的时候碰到一个需求,需要输入ip直接跳转到ip对应的8080端口上。由于浏览器访问默认是80端口,所以我们只需要在80端口上做一些文章。
rewrite重写:
开始我第一时间想到的就是rewrite重写,简单粗暴:
server {
listen 80;
rewrite ^/(.*) http://192.168.43.250:8080/$1 redirect; #虚拟主机测试
}
重启nginx之后,跳转了,但是发现浏览器网址上显示出了8080端口,这不是我想要的:
浏览器截图
负载均衡:
后来想了想,发现负载均衡正适合这个需求,将80的访问全部分发到8080端口:
upstream test {
server 192.168.43.250:8080; #虚拟主机测试
}
server {
listen 80;
location / {
proxy_pass http://test;
}
}
server{
listen 8080;
root /usr/local/nginx/html/8080/;
location / {
index index.html;
}
}
重启nginx,浏览器访问端口:
访问截图
可以发现8080端口已经被隐藏了并且网址仍然可以正常访问。
网友评论