问题:
在搭建好Nexus私服并启动后,访问的地址即为默认的内部IP和端口地址,例如:
http://192.168.0.101:18081/nexus/
当配置Nginx反向代理统一应用地址,假设Nginx对外地址IP为10.10.10.13,端口为80,如果想要通过统一的对外地址访问Nexus私服,代理配置如下:
location /nexus {
proxy_pass http://192.168.0.101:18081/nexus/;
}
即可通过对外地址访问Nexus私服(80端口是默认端口,可省略):
http://10.10.10.13/nexus
实际上,存在一个问题,就是访问该对外地址,跳转的地址仍旧为内部IP“192.168.0.101”,而不是对外IP“10.10.10.13”。
解决:
通过查阅官方文档,如果需要修改访问IP,则必须为Nginx反向代理设置“Host”请求头变量,以便自动适配对外地址,具体配置:
location /nexus {
proxy_pass http://192.168.0.101:18081/nexus/;
proxy_set_header Host $host:$server_port;
}