Приложението няма опция SOCKS, но може да се свърже с избран TCP адрес. Адаптер с фиксирана цел може да осигури SOCKS разговора за една дестинация. Той не е длъжен да стане поредният универсален преден прокси сървър.

За сборки на socat с SOCKS4A примерна подредба е:

socat TCP4-LISTEN:9443,bind=127.0.0.1,reuseaddr,fork \
  SOCKS4A:127.0.0.1:service.example.net:443,socksport=1080

SOCKS крайната точка е локален порт 1080. Адаптерът слуша на локален порт 9443 и иска от тази точка service.example.net:443. Това са примерни стойности, а не пълно внедряване на услуга.

Адаптерът има една фиксирана цел

Всяка приета TCP връзка иска същата услуга. Приложение, свързващо се към 9443, подава своите нормални протоколни байтове; socat осигурява преговорите по SOCKS4A. Ново HTTP CONNECT заявка към 9443 няма да избере друга дестинация—тя ще изпрати тези байтове към фиксираната услуга.

SOCKS4A подава име на хост към SOCKS крайната точка за отдалечено разрешаване. Това се различава от формата SOCKS4 с адрес, избран от клиента. Избраният upstream—включително публичен кандидат от списъка със SOCKS4 прокси сървъри—трябва да поддържа обработка на име на хост по SOCKS4A и необходимата автентикация; този пример не е рецепта за вход с парола по SOCKS5.

Свържете се локално, разпознайте истинската услуга

Промяната на HTTPS адрес на https://127.0.0.1:9443/ променя името на хоста, което клиентът може да използва за TLS и HTTP. Сертификат за service.example.net няма да стане валиден сертификат за loopback.

Когато клиентът поддържа отделно маршрутизиране на връзката, запазете идентичността на оригиналния адрес. Curl може да илюстрира тази разлика:

curl --noproxy '*' \
  --connect-to service.example.net:443:127.0.0.1:9443 \
  https://service.example.net/

Сокетът отива към локалния адаптер, докато TLS проверката и HTTP дестинацията остават service.example.net. Други приложения се нуждаят от собствен еквивалентен поддържан контрол; не всеки клиент го предоставя.

Loopback свързването ограничава мрежовата експозиция, но други допустими локални процеси все още могат да го достигнат. Поддържайте живота на услугата и потребителите подходящи. Запазете TLS проверката, вместо да потискате грешката в идентичността, причинена от loopback адрес.

Подобни статии