Рейтинг:0

Как настроить nginx для нескольких веб-приложений с несколькими поддоменами в GCE

флаг th

Я использую GCE со стеком LEMP. У меня есть несколько поддоменов, и каждый поддомен имеет свою корневую папку.

Моя настройка выглядит следующим образом:

Производственное приложение

сервер {
    слушать 80;
    слушать [::]:80 ipv6only=on;

    слушать 443 ssl http2;
    слушать [::]:443 ipv6only=on ssl http2;

    ssl_certificate /etc/nginx/ssl/*.example.com.crt;
    ssl_certificate_key /etc/nginx/ssl/*.example.com.key;

    имя_сервера prod.example.com;
    корень /var/www/example/web;
    client_max_body_size 10M;
}

Промежуточное приложение

сервер {
    слушать [::]:80;
    слушать [::]:443 ssl http2;
    
    ssl_certificate /etc/nginx/ssl/*.example.com.crt;
    ssl_certificate_key /etc/nginx/ssl/*.example.com.key;

    имя_сервера staging.example.com;
    корень /var/www/example-staging/web;
    client_max_body_size 10M;
}

У них одинаковая конфигурация, за исключением части server_name. Но похоже, что nginx не может отличить две разные конфигурации.

Независимо от того, буду ли я использовать prod.example.com или staging.example.com, оба будут направляться только в корневую папку prod.

Что-то не так с моими конфигурациями, что вызывает эту проблему?

флаг jp
Этот вопрос не имеет отношения к Google Cloud Platform, все дело в настройке NGINX.
Рейтинг:1
флаг cz

Ваша "постановка" сервер block слушает только IPv6, но вы обращаетесь к своему серверу через IPv4. Вам также необходимо добавить IPv4 Слушать директивы этому блоку.

David Yap avatar
флаг th
Не могу поверить, что такая крошечная ошибка может вызвать такую ​​большую разницу. Спасибо!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.