Конфигурация Nginx: два доменных имени для одного приложения nodeJS - PullRequest
0 голосов
/ 22 октября 2018

Я работаю над приложением nodejs и хочу, чтобы это приложение было доступно через два домена (два домена указывают на одно и то же приложение) с помощью nginx, приложение развернуто на дроплете DigitalOcean, поэтому

давайтескажем, у меня есть мое приложение:: порт

и домен один: example1.com

и домен два: example2.com

Я выполнил все шаги, чтобы настроить ssl дляодин домен, и я сделал то же самое для второго, и вот мои файлы конфигурации (они находятся на сайтах, доступных): config example1.com

`server {
    listen 443 ssl;
    server_name  example1.com;
    ssl_certificate     /etc/nginx/ssl-1/example1.com.crt;
    ssl_certificate_key /etc/nginx/ssl-1/example1.com.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers         'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}`

config example2.com

`
server {
    listen 443 ssl;
    server_name  example2.com;
    ssl_certificate     /etc/nginx/ssl-2/example2.com.crt;
    ssl_certificate_key /etc/nginx/ssl-2/example2.com.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers         'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}`

example11.com работает нормально, но example2.com не работает, и Google Chrome выдает это предупреждение

enter image description here

в основном, это говорит о том, что сертификат example2.comбыл выпущен для example1.com.

, так что у кого-нибудь есть опыт настройки двух доменов с ssl для одного и того же приложения на nginx, помогите мне.

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

После многократного повторения всех шагов я обнаружил, что все, что я делал, было правильным, но я пропустил одну вещь:

Я забыл файл с включенным сайтом для второго домена.

ln -s /etc/nginx/sites-available/example2 /etc/nginx/sites-enabled/example2

и после этого все работало нормально

0 голосов
/ 22 октября 2018

Если оно указывает на то же приложение, вы могли бы перенаправить?Если так, попробуйте это:

server {
  server_name example2.com;
  return 301 https://example1.com;
}
...