После дня исследований я наконец-то нашел способ решить эту проблему. Совет: клиентская сторона должна быть разделена на две части, например серверная. Поэтому я изменяю конфигурацию на стороне клиента следующим образом:
[local_psk] client = yes accept = 127.0.0.1:8443 connect = 192.168.169.152:443 PSKsecrets = psk.txt [local_proxy] client = yes accept = 127.0.0.1:8089 connect = 127.0.0.1:8443 sslVersion = all options = NO_SSLv2 options = NO_SSLv3
Таким образом, процесс действует так:
browser <--> [local_proxy] <--> [local_psk] <==> [server_psk] <--> [server_proxy] <==> website
где -
означает локальный трафик, =
означает интернет-трафик и []
означает разделы конфигурации в stunnel
И я обновляю опцию [squid]
раздела конфигурации сервера accept
от 8443
до 127.0.0.1:8443
. Это говорит, что stunnel принимает соединение только с localhost, в противном случае [PSK]
раздел становится бесполезным. Вот как это выглядит после изменения:
[server_proxy] accept = 127.0.0.1:8443 connect = 127.0.1:3128 sslVersion = all ciphers = ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PS options = NO_SSLv2 options = NO_SSLv3 options = CIPHER_SERVER_PREFERENCE
НОТА
Эти конфигурации предназначены только для разработки / тестирования. Если вы хотите использовать анонимный прокси-сервер с высокой степенью защиты, вам нужно debug = 0
отключить ведение журнала и foreground = no
демон в файле конфигурации stunnel с правильной настройкой конфигурации squid и правил iptables.