Добрый день
Просьба к разбирающимся подсказать по двум вопросам.
1) как правильно передать реальный ip пользователей с nginx на сервер с вебсокетом? пробовал по этим инструкциям:
https://dev.to/hackersandslackers/deploy-a-golang-...
https://serveradmin.ru/nginx-proxy_pass/#Peredaca_...
но пока собрать конфиг не получилось.
Сейчас нужный location выглядит так:
location = /game {
proxy_pass http://localhost:9000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
2) remote ip в go я получаю следующим образом:
user.conn.RemoteAddr().String()
https://pkg.go.dev/net?tab=doc#Addr
При тестах на локалке ip выдавался нормально, на боевом же сервере иногда выдается нормально:
127.0.0.1:52696
а иногда вот так:
[::1]:42120
Причем закономерности не вижу, достаточно просто обновить страницу и попробовать заново запросить ip, выдает любой из этих вариантов.
С чем это может быть связано?
Полагаю, что тоже с конфигом nginx, т.к. локально все отрабатывает как нужно.