Работал ли с NGINX

«Работал ли с NGINX» — вопрос из категории DevOps, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, работал. В основном настраивал NGINX как reverse proxy для балансировки нагрузки между сервисами на Go.

Пример конфигурации для проксирования запросов на Go-приложение:

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Также использовал NGINX для:

  • Отдачи статики (отделял /static/ от API)
  • HTTPS терминации (Let's Encrypt + certbot)
  • Rate limiting
  • Gzip сжатия

Для интеграции с Go иногда писал middleware для корректной обработки заголовков (X-Forwarded-For и др.).