Как правильно перенаправить удаленный адрес запроса в прокси-сервис Go?
У меня есть простой сервис go, который проверяет IP-адрес запроса, используя стандартный пакет net/http .
Этот сервис go развертывается за nginx со следующей простой конфигурацией местоположения:
location /api {
proxy_pass http://localhost:8080;
}
Очевидно, что когда приложение развертывается за прокси-сервером, теперь возвращается адрес локального хоста/сервера (например.::1
)
Я знаю, что могу определить что-то вроде:
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
но для этого потребуется также внести изменения в службу go (и некоторые дополнительные проверки безопасности в случае, если служба развернута как автономный сервер, поскольку эти заголовки могут быть изменены клиентом)
Есть ли способ передать удаленный адрес запроса службе go, чтобы его можно было вернуть
Request.RemoteAddr
?
Примечание: в этом случае, например, в php с fastcgi я мог бы сделать что-то вроде:
fastcgi_param REMOTE_ADDR $remote_address;