Настройка NGINX в режиме проксирования

Иногда встречаются задачи поднятия платформы Node.js для запуска других web-приложений, которое должно общаться с внешним миром. В таких случаях наиболее удобным и безопастным вариантом будет запуск web-приложене на localhost, а обработку входящих запросов из внешнего мира передать отдельной системе. Ниже пойдет речь о том как быстро настроить Nginx в Centos 7 для проксирования внешнего трафика на localhost.

Установка

Для начала работ необходимо установить Nginx и добавить его в автозагрузку:

sudo yum install nginx  
sudo systemctl enable nginx.service  

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

Для настройки необходимо создать новый конфигурационный файл Nginx /etc/nginx/nginx.conf с двумя контекстами:

events {  
  worker_connections 1024;
}
http {  
  server {
    listen 80 default_server;
    server_name malyg.in;

    location / {
      proxy_pass              http://127.0.0.1:8080;
    }
  }
}

Приведенная выше конфигурация описывает работу Nginx в режиме проксирования, а именно - принимать все запросы с 80 порта и передавать на на 8080-ый порт localhost, где запущено основное web-приложение.

Тестирование и запуск

Перед запуском Nginx, необходимо протестировать обновленную конфигурацию следующей командой:

nginx -t -c /etc/nginx/nginx.conf  
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok  
nginx: configuration file /etc/nginx/nginx.conf test is successful  

Тест пройден без ошибок, поэтому запускаем сервис и проверяем логи:

sudo systemctl restart nginx.service  
less /var/log/nginx/error.log  

После запуска сервиса Nginx все запросы приходящие на 80-ый порт будут транслироваться на localhost:8080.

Back