[nginx代理配置][nginx proxy_pass][nginx从一台服务器代理到另外一台服务器,浏览器地址不改变]
有点时间没搞nginx了,现在要用nginx从一台服务器代理到另外一台服务器,浏览器地址不改变,说的可能很拗口,下面来上图说话吧。
1、两台服务器
(1)、 172.16.0.90 apache服务器
浏览器访问如下:
服务器里查看如下:
(2)、 172.16.0.58 nginx服务器 下有download目录
浏览器效果如下:
服务器显示如下:
(其实这个58服务器上不需要有download目录和text.txt文件的,这里只是为了表达清楚这个代理。)
2、要实现的效果
从 172.16.0.58 服务器代理到 172.16.0.90 服务器,并且只代理58的url后面带有download的路径,实现的效果见下图:
见上图,访问到的text.txt文件其实是90服务器上的。
3、nginx的配置
见下图:
代码:
server { listen 80; #listen [::]:80; server_name 172.16.0.58; index index.html index.htm index.php default.html default.htm default.php; root /home/wwwroot/default; include none.conf; #error_page 404 /404.html; location ^~ /download/ { proxy_pass http://172.16.0.90/; } access_log off; }
通过上面的配置就可以实现nginx从一台服务器代理到另外一台服务器,浏览器地址不改变。
最后实现的效果如上图。