- 论坛徽章:
- 0
|
本帖最后由 cccc0912 于 2012-12-19 11:23 编辑
网站主域名 xxx.com 做了泛域名解析,
路由器将80映射到服务器82端口,
nginx server监听82端口,目前是一个location / 全部转发到后端tomcat
上面要求将对一个二级域名的访问转到一个对应的应用上面,比如:
将 aaa.xxx.com 转到 aaa.xxx.com/123/456
我在location /里面加了一段:
if ($host = 'aaa.xxx.com') {
rewrite ^/ /123/456 permanent;
break;
}
结果浏览器访问 aaa.xxx.com ,显示为 aaa.xxx.com:82/123/456,访问失败。用curl -I aaa.xxx..com 也是如此,不知道为什么会出现这个 ":82"。
不加这个rewrite浏览器是可以正常访问 aaa.xxx.com/123/456的。
请问rewrite应该怎么写?放到哪里?
部分配置文件如下:
server {
listen 82;
server_name www.xxx.com xxx.com *.xxx.com;
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_connect_timeout 30;
proxy_send_timeout 30;
proxy_read_timeout 60;
proxy_buffer_size 256k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
proxy_max_temp_file_size 128m;
if ($host ~* aaa\.xxx\.com$) {
rewrite ^/$ /123/456 permanent;
break;
}
proxy_pass http://127.0.0.1:8080/;
}
} |
|