SSL обратного прокси-сервера nginx [дубликат]

На этот вопрос уже есть ответ здесь:

Цели :

  • Иметь одиночный обратный прокси-сервер nginx для всех подсайтов (, работающих на других портах ).
  • БЛОКИРОВАТЬ все прямые соединения, а вместо этого; маршрут через nginx.

Проблема (ы) :

  • 502 ошибки шлюза при попытке доступа к https://www.example.com/site1/ ( connect () не удалось (111: соединение отклонено) при подключении к восходящему потоку )

Настройка :

  • example.com работает на порту 80 ( nginx ).
  • site1 и site2 работают на портах 8001 и 8002 соответственно.

Конфигурация nginx :

    worker_processes 1;

    events { worker_connections 1024; }

    http {
        sendfile on;

        upstream site1 {
            server 127.0.0.1:8001;
        }

        upstream site2 {
            server 127.0.0.1:8002;
        }

        server {
            listen 80 default_server;
            server_name _;
            return 301 https://$host$request_uri;
        }

        server {

            listen 443 ssl;
            listen [::]:443 ssl;
            gzip on;
            access_log on;
            log_not_found on;
            error_log  /var/log/nginx/error.log error;
            server_name example.com www.example.com;
            charset UTF-8;
            root /var/www/html;
            error_page 404 /404.html;

            ssl_prefer_server_ciphers on;
            ssl_certificate /etc/ssl/server.crt;
            ssl_certificate_key /etc/ssl/server.key;

            location /site1/ {
                proxy_set_header X-Original-Request $request_uri;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_pass http://site1;
            }

            location /site2/ {
                proxy_set_header X-Original-Request $request_uri;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_pass http://site2;
            }
        }
    }

Столкновение с несколькими проблемами, связанными с настройкой обратного прокси-сервера nginx. Любая помощь в этом отношении приветствуется. Большое спасибо.

0
задан 12 July 2019 в 18:16
1 ответ

Блокировать все прямые подключения к порту 8000/8001:

  1. Закройте брандмауэр для портов 8000/8001 с помощью IPtables / firewalld / ufw
  2. Запретите любые внешние IP-адреса для доступа к вашему контенту на 8000/8001 (запросы от nginx будут поступать с localhost)

Затем вы говорите: «У меня несколько проблем». Непонятно, что это за проблемы. Я предполагаю, что ваши приложения хотят запускаться на /, а вы пытаетесь запустить их на / site1 и / site2. Убедитесь, что ваши приложения позволяют запускать их с соответствующими URI.

1
ответ дан 4 December 2019 в 15:40

Теги

Похожие вопросы