编辑反向代理服务器配置文件
$ vim /usr/local/nginx/conf/reverse-proxy.conf
server {
listen 80;
server_name share.vhost1.cn;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://192.168.1.1:3000;
}
access_log logs/share.vhost1_access.log;
}
server {
listen 80;
server_name share.vhost2.cn;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass;
http://192.168.1.2:80;
}
access_log logs/xxx456.tk_access.log;
}
然后重新加载 nginx 配置文件,使之修改生效,再把 share.vhost1.cn 域名指向公司静态IP,这样就成功的做到了在浏览器中输入 share.vhost1.cn 的时候访问的内网服务器 192.168.1.1 的 3000 端口,,输入 share.vhost2.cn 访问 192.168.1.2 的 80 端口的效果。
如果想对后端机器做负载均衡,像下面这配置就可以把对 share.vhost3.cn 的请求分发给内网的 111 和 222 这两台机器做负载均衡了
upstream share_server {
server 192.168.1.111:80;
server 192.168.1.222:80;
}
server {
listen 80;
server_name share.vhost3.cn;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass;
http://share_server;
}
access_log logs/share.vhost3_access.log;
}