Nginx系列3:用Nginx搭建一个具备缓存功能的反向代理服务

 反向代理的理解:https://www.cnblogs.com/zkfopen/p/10126105.html

 

我是在一台linux服务器上搭建了两个nginx服务器A和B,把静态资源文件甲放在A服务器上,B作为反向代理服务器。

外界访问静态资源文件甲时直接访问B,B从A上获取静态资源文件甲,然后再返回给外界请求方。

举例:外界访问百度时,www.baidu.com 就是我们的反向代理服务器,反向代理服务器会帮我们把请求转发到真实的服务器那里去

nginx服务器A的端口是8080

nginx服务器B的端口是80

1.配置A服务器(存放静态资源的nginx服务器)

进入nginx/conf/,输入:vim nginx.conf,把server栏修改如下:

listen       127.0.0.1:8080;
server_name  localhost;

如下图所示:

退出后,在nginx/conf下,输入:

../sbin/nginx -s reload

 重新加载修改后的配置文件。

此时nginx服务器A只能由本机上的服务访问,外界访问不到nginx服务器A上的资源。

如下图所示:

 

2.配置nginx服务器B(反向代理服务器)

 同样进入到nginx/conf下,打开nginx.conf文件,修改如下:

upstream local {
        server 127.0.0.1:8080;
    }

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            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://local;

以上代码加入的位置如下图所示:

退出后,在nginx/conf下,输入:

../sbin/nginx -s reload

 重新加载修改后的配置文件。

此时再访问本服务器的公网ip地址:114.116.120.230,(默认端口就是80,所以ip后不用加80访问)如下图所示:

反向代理成功!

原文地址:https://www.cnblogs.com/zkfopen/p/10126191.html