Использование обратного прокси NGINX для обслуживания сервисов Go

Один из наиболее распространенных способов открыть миру приложение Go - использовать обратный прокси.

NGINX делает это очень просто. Эта конфигурация NGINX обслуживает 2 разных приложения, прослушивающих порт 8001 и 8002 соответственно.

server {
   listen 80 default_server;
   server_name your-domain;

location /go-service-1 { proxy_set_header X-Real-IP $remote_addr; proxy_pass http://localhost:8001; }

location /go-service-2 { proxy_set_header X-Real-IP $remote_addr; proxy_pass http://localhost:8002; } }

С помощьюproxy_set_header X-Real-IP $remote_addrгарантирует, что у вас будет реальный адрес посетителя вhttp.Request.Header.Get("X-Real-IP")

Порты 8081 и 8082 теперь могут оставаться частными, и NGINX обслуживает их из единой точки входа.


Больше руководств по go: