Как правильно перенаправить удаленный адрес запроса в прокси-сервис 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;

0 ответов

Другие вопросы по тегам