实验设计

针对http请求,通过配置server块和upstream块,实现本地反向代理。

实验内容

反向代理
  1. 反向代理,代理地址为www.example.com

修改本地hosts文件

127.0.0.1 www.example.com

配置Nginx文件

http {     
    upstream backend{
        server www.example.com;
    }
    server {
        listen localhost:80;
        location / {
            proxy_pass http://backend;
        }     
    } 
}

http {     
    server {
        listen *:80;
        server_name www.example.com; 
        location / {
            proxy_pass http://www.example.com;
        }     
    } 
}

启动Nginx,实验前后相应如图:

而对brave.damonczh.top进行实验产生了同样的结果:

而关闭Nginx后竟然还是同样的实验结果。

  1. 在12月18日反向代理的实验基础上进行修改,修改为upstream
http {     
    upstream backend{
        server www.baidu.com:80;
    }
    server {
        listen localhost:80;

        location / {
            proxy_pass http://backend;
            proxy_set_header Host "www.baidu.com";
        }
    }
}

curl请求的域名是新浪,但是要转发给百度,必须增加proxy_add_header,修改Nginx连接到服务器的http请求,将host首部修改为百度域名。

如果不修改头部,会返回403错误。

而如果是请求百度,转发百度 ,则不必须修改host首部。

最后修改:2023 年 01 月 14 日
如果觉得我的文章对你有用,请随意赞赏