У меня VPS. Как мне подключиться к моему серверу по протоколу HTTPS и перенаправить соединения моего браузера на соединение HTTPS?
Сейчас я использую SSH-туннель, но он слишком медленный.
решение1
Я использую Squid как прокси-сервер иСтаннелкак SSL-оболочка. Имеет очень хорошую производительность благодаря кэшированию.
Конфигурация кальмара
После установки Squid следуйтеДокументация Squidи настройте его. Вот пример конфигурации:
http_port 3193 прозрачный cache_dir ufs /var/cache/squid 128 16 128 кэш_память 1 МБ максимальный_размер_объекта_в_памяти 512 КБ максимальный_размер_объекта 1 МБ видимое_имя_хоста hostname.com иерархия_стоплист cgi-bin ? refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320 acl manager proto cache_object acl localhost источник 127.0.0.1/32 ::1 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1 acl localnet src 10.0.0.0/8 # RFC 1918 возможная внутренняя сеть acl localnet src 172.16.0.0/12 # RFC 1918 возможная внутренняя сеть acl localnet src 192.168.0.0/16 # RFC 1918 возможная внутренняя сеть acl localnet src fc00::/7 # RFC 4193 диапазон локальной частной сети acl localnet src fe80::/10 # RFC 4291 машины link-local (подключенные напрямую) acl SSL_ports порт 443 acl Safe_ports порт 80 # http acl Safe_ports порт 21 # ftp acl Safe_ports порт 443 # https acl Safe_ports порт 70 # gopher acl Safe_ports порт 210 # wais acl Safe_ports порт 1025-65535 # незарегистрированные порты acl Safe_ports порт 280 # http-mgmt acl Safe_ports порт 488 # gss-http acl Safe_ports порт 591 # файлмейкер acl Safe_ports порт 777 # многоязычный http acl CONNECT метод CONNECT auth_param базовая программа /usr/libexec/squid/pam_auth auth_param основные дети 5 auth_param базовая область Squidy auth_param основные учетные данныеttl 4 часа пароль acl proxy_auth ТРЕБУЕТСЯ http_access разрешить менеджер http_access deny !Safe_ports http_access deny ПОДКЛЮЧИТЬСЯ !SSL_ports http_access разрешить пароль http_access разрешить локальный хост http_access разрешить локальную сеть http_access запретить все через офф переадресовано_для выключения request_header_access Разрешить разрешить все request_header_access Авторизация разрешает все request_header_access WWW-Аутентификация разрешить всем request_header_access Прокси-авторизация разрешает все request_header_access Прокси-аутентификация разрешить все request_header_access Cache-Control разрешить все request_header_access Content-Encoding разрешить все request_header_access Длина содержимого разрешить все request_header_access Content-Type разрешить все request_header_access Дата разрешить все request_header_access Истекает разрешить все request_header_access Хост разрешает все request_header_access If-Modified-Since разрешить все request_header_access Last-Modified разрешить все request_header_access Местоположение разрешить все request_header_access Прагма разрешить все request_header_access Принять разрешить все request_header_access Accept-Charset разрешить все request_header_access Accept-Encoding разрешить все request_header_access Accept-Language разрешить все request_header_access Content-Language разрешить все request_header_access Mime-версия разрешает все request_header_access Повторить попытку после разрешения всех request_header_access Заголовок разрешить все request_header_access Подключение разрешено всем request_header_access Proxy-Connection разрешить все request_header_access User-Agent разрешает все request_header_access Cookie разрешить все request_header_access Все отклонить все
Он слушает порт 3193 tcp
. Затем идут опции кэширования, некоторые команды acl и auth_param
для аутентификации PAM (Вы, вероятно, не хотите открывать прокси и терять свой VPS для спам-отчетов). request_header_access
строки не требуются. Они дают вам лучшую анонимность.
Конфигурация сервера Stunnel
Установить stunnel на сервер. Вот пример конфигурации:
setuid = stunnel setgid = stunnel CAfile = /etc/stunnel/certs.pem CRLfile = /etc/stunnel/crls.pem [прокси] принять = 8888 подключение = 127.0.0.1:3193
Вероятно, файлы сертификации сделаны при установке Stunnel. Проверьте путь к файлу в CAfile
. Он просто слушает порт 8888 tcp
и перенаправляет расшифрованный поток в Squid. Поэтому давайте убедимся, что он доступен:
iptables -I INPUT 1 -p tcp --dport 8888 -j ACCEPT
Вам больше не нужно, чтобы порт прослушивания Squid был доступен всему миру.
Конфигурация клиента Stunnel
Установите Stunnel на локальный компьютер и измените эту конфигурацию в соответствии со своими потребностями:
setuid = stunnel setgid = stunnel pid = /var/run/stunnel/stunnel.pid [плохо] принять = 8123 подключиться = server_ip:8888 клиент = да libwrap = нет
Замените server_ip соответствующим значением. Затем запустите Squid на сервере и Stunnel на клиенте и сервере. Установите прокси как localhost:8123
в вашем браузере. Если все работает, вам должны предложить ввести имя пользователя и пароль.
решение2
https сервер Apache? Я не совсем понимаю вашу ситуацию, но если у вас mod_proxy, вы можете сделать то, что хотите.
решение3
Я никогда ничего не настраивал на виртуальном хосте, но вот некоторая информация об общем HTTPS:
HTTPS использует комбинацию HTTP и SSL (см. статью в Википедии здесь:http://en.wikipedia.org/wiki/HTTP_Secure). HTTPS на самом деле не является отдельным протоколом, а представляет собой обычный HTTP, работающий в туннеле SSL.
HTTPS использует CA (центры сертификации) и PKI (инфраструктура открытых ключей), чтобы гарантировать, что пользователи могут «доверять» сайту. Вы должны создать сертификат открытого ключа для вашего веб-сервера, и он должен быть подписан доверенным CA (например, VeriSign). Чтобы получить доверенный сертификат, вам может потребоваться ежегодная плата за его обслуживание.
Если вы не используете доверенный CA, пользователи получат предупреждение при попытке подключения к вашему сайту. Это часто может привести к тому, что пользователи уйдут с вашего сайта, поскольку они могут посчитать его угрозой безопасности.
Также имейте в виду, что хотя HTTP по умолчанию использует порт 80, HTTPS использует 443, поэтому если у вас есть переадресация/блокировка портов, вам придется убедиться, что они открыты для подключения. Чтобы использовать HTTPS, вам также придется убедиться, что вы вводите его в URL при переходе на сайт, в противном случае он, скорее всего, по умолчанию будет использовать HTTP.
EDIT: Вот хорошее введение в работу HTTPS: http://securityworkshop.blogspot.com/2009/01/how-httpsssl-works-part-1-basics.html
решение4
Мой хрустальный шар говорит, что вам стоит взглянуть наhttp://www.stunnel.org/static/stunnel.html
Если мяч окажется неправильным, это в любом случае не повредит.