需求描述
使用docker
安装zabbix
服务后,不需要在地址中输入zabbix
即可访问服务,地址如下:
http://192.168.1.2:80/
但因为安全限制,zabbix服务所在的服务器不支持外网访问,此时需要通过nginx
代理方式访问,并且需要添加zabbix
路径进行访问,代理后的访问地址如下:
http://192.168.1.5:8080/zabbix/
解决办法
需要在nginx
中配置参数:proxy_redirect
用于支持代理路径重定向,具体配置如下:
server {
listen 8080;
server_name 192.168.1.5;
# ----------------------------------------------
# zabbix
location ^~/zabbix/ {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://192.168.1.2:80/;
proxy_redirect http://$host/ http://$http_host/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# ----------------------------------------------
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
–END–