NewSingleHostReverseProxy передаю структуру с IP адресом в качестве хоста
в последствии подставляю в req.host нужный домен и отдаю методу ServeHTTP
По сути это тоже самое, что курлом сделать
curl --header "Host: example.com" https://A.B.C.D
в случае с SSL почему то работает некорректно. Видимо потому что запрос приходит на IP и в хендшейк попадает некорректный сертификат. Первый попавшийся на сервере
Но это решается в случае с curl, команда меняется на
curl --connect-to example.com:443:A.B.C.D:443 https://example.com
Вопрос: Как сделать тоже самое в гошке при проксировании?
Сейчас получаю ошибку
http: proxy error: x509: cannot validate certificate for A.B.C.D because it doesn't contain any IP SANs
Надо подсунуть резолвер, который на нужные домены возвращает нужные ip адреса https://stackoverflow.com/questions/40624248/golang-force-http-request-to-specific-ip-similar-to-curl-resolve
Нужно без резолвера. Домены ссылаются на эти же сервера. Проксировать куда знает только сервис
Спасибо, этот вариант и без днс резолвера подошел. Стал в url для проксирования передавать хост и при подмене его на IP в DialContext все стало работать
Обсуждают сегодня