VPS侦探论坛

 找回密码
 注册
查看: 5957|回复: 1

nginx 反向代理 内部子域名隐藏跳转的问题

[复制链接]
发表于 2013-4-22 22:45:20 | 显示全部楼层 |阅读模式

log_format  www.weadge.com  '$remote_addr - $remote_user [$time_local] "$request" '
             '$status $body_bytes_sent "$http_referer" '
             '"$http_user_agent" $http_x_forwarded_for';
server
        {
                listen       80;
                server_name www.weadge.com weadge.com weiba.weadge.com home.weadge.com;
                index index.html index.htm index.php default.html default.htm default.php;
                root  /weadge/www;

#----------------------------------------------------------------------------------
                if ($host = 'weadge.com') {
                        rewrite ^(.*)$ http://www.weadge.com$1 permanent;
                }

#               set $mainflag "0";
#               if ($host = 'www.weadge.com'){
#                       set $mainflag "${mainflag}1";
#               }
#               if ($request_uri = "/"){
#                       set $mainflag "${mainflag}2";
#               }
#               if ($mainflag = "012"){
#                       rewrite ^/ http://home.weadge.com$1 break;
#               }
#

                error_page 404 /404.htm;

                location / {



      proxy_pass              http://home.weadge.com;


                    if (-f $request_filename) {
                           break;
                    }
                    if ($request_filename ~* "\.(js|ico|gif|jpe?g|bmp|png|css)$") {
                        break;
                    }
                    if (!-e $request_filename) {
                        rewrite . /index.php last;
                    }
                }

想要实现的功能是 当访问www.weadge.com时 隐式跳转到home.weadge.com 地址栏里的URL不变

现在的配置 日志里报如下错误

2013/04/22 21:19:02 [alert] 21774#0: accept() failed (24: Too many open files)
2013/04/22 21:19:02 [alert] 21774#0: *51196 socket() failed (24: Too many open files) while connecting to upstream, client: 60.191.57.43, server: www.weadge.com, request: "GET / HTTP/1.0", upstream: "http://60.191.57.43:80/", host: "home.weadge.com"
2013/04/22 21:19:07 [alert] 21774#0: *102386 socket() failed (24: Too many open files) while connecting to upstream, client: 60.191.57.43, server: www.weadge.com, request: "GET /favicon.ico HTTP/1.0", upstream: "http://60.191.57.43:80/favicon.ico", host: "home.weadge.com"


报http 500错误

如果把
proxy_pass              http://home.weadge.com; 换成
proxy_pass              http://www.qq.com;

则能正常显示qq.com的内容



求解决办法
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2013-4-23 09:33:05 | 显示全部楼层


你想反代到home.weadge.com上,home这个应该是一个单独的server 段,也就是创建一个home这个域名的虚拟主机,要把你上面这个配置里server_name里的home域名也去掉
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|VPS侦探 ( 鲁ICP备16040043号-1 )

GMT+8, 2024-9-24 13:23 , Processed in 0.027607 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表