实验设计
针对http请求,通过配置server块和upstream块,实现本地反向代理。
实验内容
反向代理
- 反向代理,代理地址为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后竟然还是同样的实验结果。
- 在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首部。