现在的位置: 首页fault, nginx>正文
nginx upstream遇到的一个问题
2012年11月15日 fault, nginx 暂无评论 ⁄ 被围观 4,453 view+

今天用nginx反向代理使用upstream的时候遇到了一个很神奇的问题,特此记录下。下面给大家演示下:

nginx代理服务器配置[ip:192.168.1.166]

upstream here {
	server 192.168.1.188:82;
}

server {
	listen 80;
	server_name testit.com;

	charset utf-8;
	location / {
		proxy_pass http://here/;
	}
}

nginx应用服务器配置如下[ip:192.168.1.188]

#001
server {
	listen 82;
	server_name 192.168.1.188;

	root /htdocs/www/ex1;
	index index.html index.htm index.php;

	access_log  /htdocs/logs/ex1.log  testlog;
}

#002
server {
	listen 82;
	server_name here;

	root /htdocs/www/ex2;
	index index.html index.htm index.php;

	access_log  /htdocs/logs/ex2.log  testlog;
}

ex1目录下有个index.html 里面的内容为come index1

ex2目录下有个index.html 里面的内容为come index2

现在将testit.com指向192.168.1.166

现在用浏览器访问testit.com

是不是很神奇,怎么走的应用服务器002的配置,那么我们直接来访问下应用服务器82端口看看

在来看看host信息:

是不是很神奇。。。当代理服务器upstream的名字和代理服务器server_name名字对应的时候,就会走对应起来的配置。这个只是在内网里做的测试,估计外网就不行了。。。不然这个就真的很奇特了。。

问题找到:

在代理服务器上加上以下代码即可。

proxy_set_header   Host             $host;
proxy_set_header   X-Forwarded-For        $remote_addr;

给我留言

留言无头像?


×
腾讯微博