Проброс запросов http и https с одного nginx на другой http.

  • Михаил
  • 8 мин. на прочтение
  • 40
  • 28 Nov 2024
  • 28 Nov 2024

Для проброса HTTP и HTTPS запросов с одного Nginx сервера на другой Nginx сервер, который работает только по HTTP, вам нужно настроить первый Nginx сервер как обратный прокси (reverse proxy). Вот пошаговая инструкция:

Настройка первого Nginx сервера (обратный прокси):

Откройте конфигурационный файл Nginx. Обычно это /etc/nginx/nginx.conf или файл в директории /etc/nginx/sites-available/.

Добавьте или измените конфигурацию для вашего сайта, чтобы настроить обратный прокси. Пример конфигурации:

server {
   listen 80;
   server_name your_domain.com;
   location / {
       proxy_pass http://second_nginx_server_ip:80;
       proxy_set_header Host $host;
       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;
   }
}
server {
   listen 443 ssl;
   server_name your_domain.com;
   ssl_certificate /path/to/your/certificate.crt;
   ssl_certificate_key /path/to/your/private.key;
   location / {
       proxy_pass http://second_nginx_server_ip:80;
       proxy_set_header Host $host;
       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;
   }
}

В этом примере:

your_domain.com — это ваше доменное имя.
second_nginx_server_ip — это IP-адрес второго Nginx сервера.
/path/to/your/certificate.crt и /path/to/your/private.key — это пути к вашим SSL сертификатам и ключам.
 

Настройка второго Nginx сервера:

Убедитесь, что второй Nginx сервер настроен для обработки HTTP запросов. Пример конфигурации:

server {
   listen 80;
   server_name second_nginx_server_ip;
   location / {
       # Ваши настройки для обработки запросов
       root /path/to/your/webroot;
       index index.html index.htm;
   }
}

В этом примере:

second_nginx_server_ip — это IP-адрес второго Nginx сервера.
/path/to/your/webroot — это путь к корневой директории вашего веб-сайта.
Перезапуск Nginx:

После внесения изменений в конфигурационные файлы, перезапустите оба Nginx сервера, чтобы применить новые настройки:

sudo systemctl restart nginx

Теперь ваш первый Nginx сервер будет принимать HTTP и HTTPS запросы и проксировать их на второй Nginx сервер, который работает только по HTTP.