CNAME 域名跳转 nginx 配置问题

2015-02-05 12:11:44 +08:00
 mrzero
现在有两个域名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好久了, 求解答...
12912 次点击
所在节点    问与答
23 条回复
xierch
2015-02-05 12:51:57 +08:00
root 那行漏了分号?
msg7086
2015-02-05 13:31:26 +08:00
不贴错误信息你说个
mrzero
2015-02-05 13:37:24 +08:00
@xierch 有分号的...贴上来改的忘加了...
mrzero
2015-02-05 13:38:18 +08:00
@msg7086 没错误信息啊...就是无法加载网页
XiaoxiaoPu
2015-02-05 13:44:59 +08:00
msg7086
2015-02-05 13:46:15 +08:00
@mrzero 至少说一些线索出来嘛。
mrzero
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
2015-02-05 14:22:02 +08:00
Operation timed out

看看你后端uwsgi的情况?

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

curl返回的
curl: (6) Could not resolve host: nini.czneau.com’, 然后是网页...
mengzhuo
2015-02-05 16:19:09 +08:00
你那DNS 记录没生效而已

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/168449

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX