V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
mrzero
V2EX  ›  问与答

CNAME 域名跳转 nginx 配置问题

  •  
  •   mrzero · 2015-02-05 12:11:44 +08:00 · 12742 次点击
    这是一个创建于 3384 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在有两个域名example1.org和example2.org, example1.org是可以访问的, example2是CNAME指向example1.org的, 可以ping到对的ip, 我尝试在nginx配置里加上example2.org了, 虚拟主机配置是这样的:
    server {
    listen 80;

    server_name example1.org example2.org;
    root /var/www/blah

    # if ($host ~* "^example2.org$") {
    # rewrite ^(.*)$ http://example1.org permanent;
    # break;
    # }

    location / {
    include uwsgi_params;
    uwsgi_pass unix:/tmp/blah_uwsgi.sock;
    }

    location /static/ {
    alias /var/www/blah/static;
    }

    error_log /var/log/nginx/blah/error.log;
    access_log /var/log/nginx/blah/access.log;
    }
    后面注释掉的部分是照http://serverfault.com/questions/302017/setup-cname-for-subdomain-issue改过的, 可以还是没用...Google好久了, 求解答...
    23 条回复    2015-02-05 19:05:10 +08:00
    xierch
        1
    xierch  
       2015-02-05 12:51:57 +08:00
    root 那行漏了分号?
    msg7086
        2
    msg7086  
       2015-02-05 13:31:26 +08:00
    不贴错误信息你说个
    mrzero
        3
    mrzero  
    OP
       2015-02-05 13:37:24 +08:00
    @xierch 有分号的...贴上来改的忘加了...
    mrzero
        4
    mrzero  
    OP
       2015-02-05 13:38:18 +08:00
    @msg7086 没错误信息啊...就是无法加载网页
    XiaoxiaoPu
        5
    XiaoxiaoPu  
       2015-02-05 13:44:59 +08:00
    msg7086
        6
    msg7086  
       2015-02-05 13:46:15 +08:00
    @mrzero 至少说一些线索出来嘛。
    mrzero
        7
    mrzero  
    OP
       2015-02-05 14:19:50 +08:00
    @XiaoxiaoPu @msg7086
    curl -v http://nini.czneau.com git:master
    * Rebuilt URL to: http://nini.czneau.com/
    * Hostname was NOT found in DNS cache
    * Trying 202.114.18.44...
    * Connected to nini.czneau.com (202.114.18.44) port 80 (#0)
    > GET / HTTP/1.1
    > User-Agent: curl/7.37.1
    > Host: nini.czneau.com
    > Accept: */*
    >
    * Recv failure: Operation timed out
    * Closing connection 0
    curl: (56) Recv failure: Operation timed out


    curl出来也只能看到这样的内容啦(摊手

    再详细一点就是
    用nginx做反向代理, 后端用的是uwsgi + flask, 自己用的是dnspod, 已经能用的域名是http://neau.hustonline.net/, 别人希望让http://nini.czneau.com/这个域名也能指到那个网站, 他用的万网, 万网里加了一行CNAME的记录, 填的是neau.hustonline.net.
    现在能ping通, curl也能看到是正确的ip, 所以应该是nginx配置的问题, 不知道是不是我的姿势不对...
    msg7086
        8
    msg7086  
       2015-02-05 14:22:02 +08:00
    Operation timed out

    看看你后端uwsgi的情况?

    建议你隔离一下问题。先试试static静态文件能否访问,再考虑动态页面。
    mrzero
        9
    mrzero  
    OP
       2015-02-05 14:24:34 +08:00
    @msg7086
    不是啊, 这网站已经能跑了
    http://neau.hustonline.net/可以用
    只是域名指向的问题了
    只是http://nini.czneau.com/这个地址不能用
    ryd994
        10
    ryd994  
       2015-02-05 14:37:37 +08:00
    @mrzero 还是试试静态先,或者加一个
    location /test {
    return 200 foo;
    }
    我怀疑是uwsgi的参数不对
    ryd994
        11
    ryd994  
       2015-02-05 14:40:29 +08:00
    另外如果你的本意是301(我看你那个if是想这样)
    那可以加一个server
    server {
    listen 80;
    return 301 http://neau.hustonline.net$request_uri;
    }
    mrzero
        12
    mrzero  
    OP
       2015-02-05 14:43:09 +08:00
    @ryd994 curl了一个js, 还是没用...
    ryd994
        13
    ryd994  
       2015-02-05 14:44:57 +08:00
    @mrzero 直接在服务器上curl本地呢?记得设置Host header
    ryd994
        14
    ryd994  
       2015-02-05 14:48:05 +08:00
    还有,serverfault那个答案楼下也喷了ifisevil。我个人在用nginx的时候是尽一切可能避免if的,尽量用map变量。
    nginx重启了么
    mrzero
        15
    mrzero  
    OP
       2015-02-05 14:49:25 +08:00
    @ryd994 擦!在服务器上curl nini.czneau.com是可以的!
    但是我还是没弄懂是怎么回事...
    ryd994
        16
    ryd994  
       2015-02-05 14:50:57 +08:00
    mrzero
        17
    mrzero  
    OP
       2015-02-05 15:07:38 +08:00
    @ryd994
    啊我没懂你说的curl设置host是什么意思...是要设什么参数吗...
    ryd994
        18
    ryd994  
       2015-02-05 15:24:30 +08:00 via Android
    host 这个header你知道么
    curl --header ‘Host: nini.czneau.comhttp://neau.hustonline.net/
    mrzero
        19
    mrzero  
    OP
       2015-02-05 15:38:07 +08:00
    哦, Host是header里面的, 因为之前没用过curl...构造头的时候只加过Referer啥的...

    curl返回的
    curl: (6) Could not resolve host: nini.czneau.com’, 然后是网页...
    mengzhuo
        20
    mengzhuo  
       2015-02-05 16:19:09 +08:00
    你那DNS 记录没生效而已
    mrzero
        21
    mrzero  
    OP
       2015-02-05 16:21:06 +08:00
    @mengzhuo
    可是已经能ping到对应的ip了啊...
    mrzero
        22
    mrzero  
    OP
       2015-02-05 17:13:48 +08:00
    @XiaoxiaoPu @mengzhuo @msg7086 @ryd994 @xierch
    感谢各位大大回复, 刚才另外用了一个域名是可以的!
    原来是学校的服务器有限制!!!只能用已经备案的域名!!!
    xierch
        23
    xierch  
       2015-02-05 19:05:10 +08:00
    @mrzero 没备案被防火墙发现后直接 drop 掉后续的包吗,黑科技啊..
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   971 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 22:28 · PVG 06:28 · LAX 15:28 · JFK 18:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.