Прокси-сервер (или другое решение), который позволит устаревшим браузерам (до эры HTTPS — со слабой поддержкой SSL/TLS или без нее) подключаться к веб-сайтам HTTPS?

Прокси-сервер (или другое решение), который позволит устаревшим браузерам (до эры HTTPS — со слабой поддержкой SSL/TLS или без нее) подключаться к веб-сайтам HTTPS?

Существует ли прокси-сервер (или другое решение), который может позволить устаревшим браузерам (до эры HTTPS — со слабой поддержкой SSL/TLS или без нее) подключаться к веб-сайтам HTTPS?

Другими словами:

старый браузер <-- http соединение --> клиентский (локальный) прокси <-- HTTPS соединение --> любая веб-страница в Интернете

(браузер отправляет запрос страницы http локальному прокси, тот отправляет запрос HTTPS, и после получения ответа/страницы HTTPS прокси возвращает его браузеру в незашифрованном http)

Также приветствуются простые примеры конфигураций для таких прокси.

ЭтоTLS_termination_proxy(https://serverfault.com/questions/943649/https-http-lightweight-proxy) то, что я ищу (или это только для серверов)?

Я начал проверять прокси из списка TLS_termination_proxy (архивный список1,2) (Nginx, stunnel, Hiawatha, Caddy, Apache и Squid) для Windows. Nginx, похоже, это умеет. stunnel предназначен только для 64-битной версии (есть и 32-битные сборки).

решение1

решение2

Используйте Nginx в качестве обратного прокси-сервера для всех запрошенных доменов.

server {
  # default_server not needed if its first server in config
  listen 80 default_server;
  location / {
    # x.x.x.x - IP address of DNS server
    resolver x.x.x.x;
    # port may be omitted
    proxy_pass https://$host:443;
  }
}

Вы также, скорее всего, захотите позаботиться о жестко закодированных URL-адресах для скриптов/изображений (и других) путем изменения страниц (Изменение HTML-страниц, возвращаемых обратным прокси-сервером nginx) или путем добавления дополнительного сервера для ssl-запроса (если браузер поддерживает протокол https).

решение3

Nginx как URL-прокси (в формеhttp://localhost/proxy/?u=url_to_process), для браузеров без поддержки прокси (протестировано вМозаика1.0 иВиолончельс 1993 года на Windows [Cello не распознает localhost, вместо этого необходимо использовать 127.0.0.1]):

server {
    listen       80;

    # dns server
    resolver x.x.x.x;

    location /proxy {
        #is ending slash missing? (avoid redirection)
        #**TODO**: handle file url
        if ($arg_u !~ /$) {
            set $slash "/";
        }

        proxy_pass $arg_u$slash;

        #handle eventual redirection to https
        set $url_proxy http://localhost/proxy/?u=;
        proxy_redirect ~^(https://.+) $url_proxy$1;
    }
}

Это позволяет отобразить одну страницу, переданную в параметре u (пример:http://localhost/proxy/?u=http://www.aliweb.com). В некоторых случаях передача http-страницы (теоретически поддерживаемой браузером) через прокси может привести к лучшему анализу этой страницы браузером. В других случаях это может привести к сбою браузера. Для свободного просмотра сайта требуется модификация страницы.

Связанный контент