这是关于使用子域的示例Rails应用程序。 你可以在这里访问它: http : //rodrigora.com.br 。 在这个应用程序中,您可以创build网站并为其指定一个子网域。
例:
网站:
子域名:
gog
- 绑定DNS区域文件中的多个$ TTL语句
- Server 2008R2上的IPv6会杀死DNSparsing? 互联网放缓?
- 适当的专用服务器DNS设置
- 挖掘成功,nslookup失败(与dnsmasq作为服务器)
- dnssec zonesigner忽略区外数据
这个网站应该可以访问http://gog.rodrigora.com.br
但是,该应用程序是不可缓解的任何子域名,无论是www 。
DNS服务器configuration:

nginx服务器configuration:
upstream app_server { server unix:/tmp/unicorn.blog.sock fail_timeout=0; } server { listen 80 default; #server_name localhost; client_max_body_size 4G; keepalive_timeout 10; root /home/ubuntu/apps/blog/current/public; try_files $uri/index.html $uri.html $uri @app; location @app { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://app_server; } # Rails error pages error_page 500 502 503 504 /500.html; location = /500.html { root /home/ubuntu/apps/blog/current/public; } location ~ ^/(assets)/ { root /home/ubuntu/apps/blog/current/public; gzip_static on; # to serve pre-gzipped version expires max; add_header Cache-Control public; } }
额外的信息 :如果我在浏览器上访问www.rodrigora.com.br ,谷歌浏览器会显示未find的页面,但是nginxlogging下这一行:
186.210.71.46 - - [21/Sep/2013:22:08:37 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.65 Safari/537.36"
问题:
那么,nginx是说www子域不在吗?
如何configuration这个应用程序来响应任何子域?
资源:
Railscast子域名
DNS传播
通配符DNS检查
把服务器名称设置为*.rodrigora.com.br这将让nginx服务器接受任何请求与这个领域潜艇。
你有没有listen 80 default_server; ?
这可能是更多你需要的。 我相信,对于服务器名称_; 是一个全面的。
server { listen 80 default_server; server_name _; rewrite ^(.*)$ http://www.domain.tld$1 permanent; }