502 Bad Gateway узел сервера nginx - PullRequest
0 голосов
/ 21 сентября 2018

Я создал приложение реагирования, которое работает на сервере узлов, я использую несколько поддоменов в одном и том же экземпляре gcloud. Используя pm2 Я запускаю приложение, которое отлично работает на разных портах.
сейчас я хочу реализовать nginxна моей виртуальной машине, чтобы я мог нацелить эти приложения с указанным доменом.my servers.conf (файл nginx)

server {
        listen 80;
        listen [::]:80;
        server_name booking.stanplus.com www.booking.stanplus.com;
        return 301  https://booking.stanplus.com$request_uri;
}
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name booking.stanplus.com  www.booking.stanplus.com;
    ssl_certificate /etc/letsencrypt/live/booking.stanplus.com/cert.pem;
    ssl_certificate_key /etc/letsencrypt/live/booking.stanplus.com/privkey.pem;
    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;
        proxy_pass https://35.237.131.149:8080;
        proxy_redirect off;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}
server {
        listen 80;
        listen [::]:80;
        server_name dkiosk.stanplus.com;
        location / {
                proxy_pass http://127.0.0.1:3000;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header HOST $http_host;
        }
}

http://dkiosk.stanplus.com работает нормально, но https://booking.stanplus.com/ получил ssl, но не работает.
https://booking.stanplus.com/ нацелен на http://35.237.131.149:8080/, который работает нормально.https://booking.stanplus.com/ выдает ошибку

502 Bad Gateway

где я делаю не так ...?, Впервые я внедряюnginx.
Я посмотрел много статей и вопросов и ответов, но признался.Пожалуйста, помогите мне. Я застрял с 3 дней.

1 Ответ

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

В вашей конфигурации вы используете:

proxy_pass http s : //35.237.131.149: 8080;

То есть вы запрашиваетеВ nginx используется HTTPS - зашифрованное соединение с бэкендом.Скорее всего, это неправильно, учитывая, что порт 8080 в большинстве случаев используется для простого HTTP (без S).И URL-адрес, который, как вы заявляете, работает, http://35.237.131.149:8080/, также является обычным HTTP, а не HTTPS.

Изменение аргумента proxy_pass на http://35.237.131.149:8080/ должно решить вашу проблему.

Обратите внимание, что nginx обычнозаписывает подробности об ошибках в журнал ошибок.Если вы сомневаетесь, не стесняйтесь изучать его, во многих случаях у него достаточно информации, чтобы понять, что происходит не так.

...