Como configurar o servidor nginx com DNS curinga

1

Trata-se de uma amostra do aplicativo Rails que usa subdomínios. Você pode acessá-lo aqui: link . Neste aplicativo, você pode criar um site e especificar um subdomínio para ele.

Example:

site: Google

subdomain: gog

This site should be accessible by http://gog.rodrigora.com.br

Mas o aplicativo é inacessível para qualquer subdomínio, nem www .

Configuração do servidor DNS:

configuraçãodoservidornginx:

upstreamapp_server{serverunix:/tmp/unicorn.blog.sockfail_timeout=0;}server{listen80default;#server_namelocalhost;client_max_body_size4G;keepalive_timeout10;root/home/ubuntu/apps/blog/current/public;try_files$uri/index.html$uri.html$uri@app;location@app{proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;#proxy_set_headerX-Forwarded-Proto$scheme;proxy_set_headerHost$http_host;proxy_redirectoff;proxy_passhttp://app_server;}#Railserrorpageserror_page500502503504/500.html;location=/500.html{root/home/ubuntu/apps/blog/current/public;}location~^/(assets)/{root/home/ubuntu/apps/blog/current/public;gzip_staticon;#toservepre-gzippedversionexpiresmax;add_headerCache-Controlpublic;}}

Informaçõesadicionais:seeuacessarwww.rodrigora.com.brnonavegador,oGoogleChromemostraráapáginanãoencontrada,masnginxregistraráestalinha:

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"

Perguntas:

  • Então, o nginx está dizendo que o subdomínio www não está lá?

  • Como configurar este aplicativo para responder a qualquer subdomínio?

Recursos:

Subdomínios do Railscast

Propagação do DNS

Verificação de DNS de caractere curinga

    
por Rodrigo 22.09.2013 / 00:11

2 respostas

3

Coloque o nome do servidor como *.rodrigora.com.br , isso permitirá que o servidor nginx aceite qualquer solicitação com um desses subs de domínio.

    
por 22.09.2013 / 09:59
-1

Você já tentou listen 80 default_server; ?

Isso pode ser mais do que você precisa. Eu acredito que para o nome do servidor _; é um pega-tudo.

server {
    listen 80 default_server;
    server_name _;
    rewrite ^(.*)$ http://www.domain.tld$1 permanent;
}
    
por 22.09.2013 / 01:55