有点时间没搞nginx了,现在要用nginx从一台服务器代理到另外一台服务器,浏览器地址不改变,说的可能很拗口,下面来上图说话吧。

 

1、两台服务器
(1)、 172.16.0.90 apache服务器

浏览器访问如下:

[nginx代理配置][nginx proxy_pass][nginx从一台服务器代理到另外一台服务器,浏览器地址不改变]-飞网

服务器里查看如下:

[nginx代理配置][nginx proxy_pass][nginx从一台服务器代理到另外一台服务器,浏览器地址不改变]-飞网

 

(2)、 172.16.0.58 nginx服务器 下有download目录

 浏览器效果如下:

[nginx代理配置][nginx proxy_pass][nginx从一台服务器代理到另外一台服务器,浏览器地址不改变]-飞网

服务器显示如下:

[nginx代理配置][nginx proxy_pass][nginx从一台服务器代理到另外一台服务器,浏览器地址不改变]-飞网

(其实这个58服务器上不需要有download目录和text.txt文件的,这里只是为了表达清楚这个代理。)

 

2、要实现的效果

 

从 172.16.0.58 服务器代理到 172.16.0.90 服务器,并且只代理58的url后面带有download的路径,实现的效果见下图:

[nginx代理配置][nginx proxy_pass][nginx从一台服务器代理到另外一台服务器,浏览器地址不改变]-飞网

见上图,访问到的text.txt文件其实是90服务器上的。

 

 

3、nginx的配置

 

见下图:

[nginx代理配置][nginx proxy_pass][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从一台服务器代理到另外一台服务器,浏览器地址不改变。

[nginx代理配置][nginx proxy_pass][nginx从一台服务器代理到另外一台服务器,浏览器地址不改变]-飞网

最后实现的效果如上图。