LINUX.ORG.RU

Сообщения mcbay

 

NGINX upstream не работает при подключении 443 SSL порта

Форум — General

Друзья, всем привет.

Есть сайт, который через порт 8080 дает доступ к API расширению. По обычному http протоколу все работает на ура. Вот пытаюсь его на ssl протокол перевести, и тут есть un problema… Сам сайт отображается по ssl без проблем, но upstream api никак не получается настроить.

Система:
Ubuntu 16.04.6 LTS
nginx/1.10.3

Вот конфиг при котором все ОК на http протоколе:

server {
        listen 80;
        listen [::]:80;

        server_name mysite.com www.mysite.com;

        root /home/user/mysite/www/dist;
        index index.html;


        location / {
               try_files $uri $uri/ =404;
        }

        location /api {
                proxy_pass http://api;

        }

}


upstream api {
    server 127.0.0.1:8080;
}

Вот конфиг на https протоколе:

server {
        listen 80;
        listen [::]:80;
        server_name mysite.com www.mysite.com;
      # return 301 https://$host$request_uri;

        root /home/user/mysite/www/dist;
        index index.html;

        location / {
               try_files $uri $uri/ =404;
        }

        location /api {
                proxy_pass http://api;
        }

}

server {
        listen  443 ssl;
        server_name mysite.com www.mysite.com;

        ssl_certificate /etc/letsencrypt/live/mysite.com/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/mysite.com/privkey.pem; # managed by Certbot
        ssl_dhparam /etc/nginx/dhparam.pem;


        root /home/user/mysite/www/dist;
        index index.html;

        location / {
               try_files $uri $uri/ =404;
        }

        location /api {
                proxy_pass http://api;
        }
}


upstream api {
    server 127.0.0.1:8080;
}

При таком конфиге http версия тоже работает ок, https версия - сайт коннектит, API нет. Если ставлю редирект return 301 сайт коннектит, API нет.

Как я понял, в location /api нужно указывать https proxy_pass https://api и путь где лежит сертификат и ключ только в случае, если хочешь сделать отдельно только upstream api по SSl подключению, а сам сайт оставить на http протоколе.

Весь мануал NGINX-а перерыл, чет не пойму, что ему надобно еще.

 , ,

mcbay
()

RSS подписка на новые темы