Речь идет об образце приложения Rails, которое использует поддомены. Вы можете получить к нему доступ здесь: http://rodrigora.com.br. В этом приложении вы можете создать сайт и указать для него один поддомен.
Пример:
сайт:
поддомен:
gog
Этот сайт должен быть доступен для http://gog.rodrigora.com.br
Но приложение недоступно ни для одного субдомена, ни www
.
Конфигурация DNS-сервера:
Конфигурация сервера nginx:
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
в браузере Google Chrome показывает не найденную страницу, но nginx
регистрирует эту строку:
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
поддомена нет?
Как настроить это приложение для ответа на любой поддомен?
Ресурсы:
Поместите имя сервера как *.rodrigora.com.br
это позволит серверу nginx принимать любой запрос с одним из этих подписок домена.
Ты пробовала listen 80 default_server;
?
Это может быть больше, что вам нужно. Я считаю, что для имени сервера _;
это все.
server {
listen 80 default_server;
server_name _;
rewrite ^(.*)$ http://www.domain.tld$1 permanent;
}