Я совершенно новичок в развертывании nginx, и у меня возникли проблемы с настройкой субдомена для приложения rails, которое запущено на пассажире. Моя структура приложения выглядит следующим образом
-- sss.com (parent domain)
-- sub.sss.com (subdomain)
-- zzz.com (which will be redirected to sub.sss.com)
Для более ясной перспективы подумайте о структуре gmail
-- google.com (parent domain)
- mail.google.com (subdomain)
-- gmail.com (which will be redirected to mail.google.com)
И помните, что sub.sss.com - это не просто каталог под sss, это совершенно другое приложение rails.
Чтобы настроить подобную структуру, я настроил nginx следующим образом
server {
listen 80;
server_name sss.com *.sss.com;
rewrite ^(.*) http://sss.com$1 permanent;
}
server {
listen 80;
server_name sss.com;
passenger_enabled on;
access_log logs/sss.log;
error_log logs/sss_error.log;
root /var/www/sss/public;
}
server {
listen 80;
server_name sub.sss.com;
passenger_enabled on;
access_log logs/sub.log;
error_log logs/sub_error.log;
root /var/www/sub/public;
}
server {
listen 80;
server_name zzz.com;
rewrite ^(.*) http://sub.sss.com$1 permanent;
}
Когда я запускаю nginx, я получаю это предупреждение
nginx: [warn] conflicting server name "sss.com" on 0.0.0.0:80, ignored
И получил это сообщение при попытке получить доступ к URL-адресу www.sss.com
Chrome - Ошибка 310 (net :: ERR_TOO_MANY_REDIRECTS): было слишком много перенаправлений.
FF - Firefox обнаружил, что сервер перенаправляет запрос на этот адрес способом, который никогда не будет завершен.
Но когда я захожу на zzz.com, он успешно перенаправляет на sub.sss.com с той же ошибкой.
Кажется, это запутано в какой-то петле. Кто-нибудь есть идеи, как решить эту проблему?