Как использовать SSL-сертификат для двух портов, работающих на одном экземпляре сервера - PullRequest
0 голосов
/ 05 мая 2018

Привет! Я запускаю экземпляр Ubuntu в сервисе AWS EC2 с сервером Nginx. У меня есть приложение React, работающее на порту 5000, и сервер узла на порту 8080. Я добавил SSL, используя сертификат openssl для своего домена для HTTPS. Но после запуска обоих серверов веб-сайт не работает и показывает это сообщение

enter image description here

Насколько я понимаю, это потому, что трафик /api проходит через 8080 и не имеет сертификата SSL.

мой /etc/nginx/sites-available/default файл похож на этот

server {
    server_name projectmatch.me www.projectmatch.me;
    location / {
        proxy_pass http://127.0.0.1:5000;

        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;
        proxy_redirect off;
     }


      listen 443 ssl;
     # managed by Certbot
      ssl_certificate /etc/letsencrypt/live/projectmatch.me/fullchain.pem; # managed by Certbot
      ssl_certificate_key /etc/letsencrypt/live/projectmatch.me/privkey.pem; # managed by Certbot
      include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
      ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

  }

  server {
    if ($host = www.projectmatch.me) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = projectmatch.me) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    listen 80;

    server_name projectmatch.me www.projectmatch.me;
    return 404; # managed by Certbot


}

Пожалуйста, дайте мне знать, как добавить SSL к моим портам React и Api.

1 Ответ

0 голосов
/ 05 мая 2018

Вы можете просто добавить вторую директиву listen для блока server для любых дополнительных портов, которые вы хотите прослушивать (с или без ssl).

server {
    listen 443 ssl;
    listen 8443 ssl;
    listen 80; # no ssl
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...