В настоящее время я использую OpenVPN и прокси-сервер squid на небольшом VPS. В конфигурации файл VPN. Я использую параметры прокси OpenVPN для подключения к прокси перед VPN.
Интересная часть конфигурации выглядит так:
* Примечание: отредактированный IP-адрес в файле конфигурации такой же, как и сервер squid и OpenVPN на одном VPS.
[...]
remote xxx.xxx.xxx.xxx 15855 tcp-client
http-proxy xxx.xxx.xxx.xxx 3128
[...]
http-proxy-option CUSTOM-HEADER Host [redacted]
[...]
Я понимаю, что прокси-сервер расположен до соединения VP, но squid, являющийся прокси-сервером HTTP, как он может обрабатывать TCP-соединение с VPN? Когда передается настраиваемый заголовок? Он передается, когда клиент подключается к прокси-серверу или когда с него пакеты идут в VPN?
Кто-нибудь может объяснить это или указать мне ссылку, чтобы лучше понять, что происходит?
Прокси, такие как Squid, поддерживают множество различных методов HTTP-запросов. Вы, наверное, слышали о GET
, POST
и т. Д., Но есть и другие, подобные тому, что OpenVPN использует выше; ПОДКЛЮЧИТЬ
.
CONNECT
создает «туннель» через HTTP, и вы можете прочитать больше на этой странице википедии .
«Прокси-сервер» в OpenVPN означает только то, что клиент OpenVPN подключен к серверу через прокси, как прокси-сервер socks5, который вы можете открыть на ssh-клиенте. Если вы не установите squid в качестве http-прокси на заданном порту, он автоматически перехватит любой исходящий трафик на порт 80 или порт 443 со своими собственными кэшированными файлами. В этих настройках вы можете рассматривать squid как обратный прокси-сервер, например nginx, который не предоставляет настоящий http-прокси.