server {
listen 80 default;
server_name www.baidu.com xxx.com;
access_log /var/log/nginx/localhost.access.log;
location / {
#proxy_next_upstream error timeout invalid_header http_500 http_502;
#proxy_next_upstream,这个配置指定了nginx在从一个后端主机取数据遇到何种错误时会转到下一个后端主机,里头写上的就是会出现502的所有情况拉,默认是error timeout。error就是当机、断线之类的,timeout就是读取堵塞超时
proxy_pass http://xxx; #这边的xxx就是对应的upstream的名字;
proxy_set_header Host www.example.com;#这边必须同你要访问的网站的真实域名一样,否则会被服务器端给截掉的(貌似这样就是在伪造域名的说),不添加这句话和下面那句,服务器会主动加上头部的;
proxy_set_header X-Real-IP $remote_addr;
}
}
upstream xxx {
server www.example.com; #此处可以设置多个server,还能设定访问的方法,可以选择轮询
}
可以用www.baidu.com和xxx.com两种方式来访问(www.xxx.com无法访问),在upstream中至少我还不会用变量来设定。