免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3145 | 回复: 1
打印 上一主题 下一主题

[Web] nginx rewrite后导致的端口问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-12-19 11:22 |只看该作者 |倒序浏览
本帖最后由 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/;

        }
        
        }

论坛徽章:
0
2 [报告]
发表于 2012-12-20 00:41 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP