Если получится со squid'ом, поделитесь, пожалуйста, настройками, а то у меня не работает https_port 3128 (на сертификат ругается), в результате чего https через прокси не идет (понятное дело, кэшироваться он не будет, но неудобно, что трафик не считается для https).
Error: the proxy server (Squid) is not configured to allow SSL tunnel to port 80.
To fix the problem please find and comment the following line in the Squid
configuration file (squid.conf):
http_access deny CONNECT !SSL_ports
The proxy server reply header is:
HTTP/1.0 403 Forbidden
Server: squid/2.6.STABLE21
Date: Tue, 15 Feb 2011 18:38:40 GMT
Content-Type: text/html
Content-Length: 1027
http_access allow aaa
http_access deny CONNECT !SSL_ports
http_access deny all
Арбайтает со свистом. Версия сквида 3.1.9
Если надо ходить не только на https, то можно закомментировать строки:
acl CONNECT method CONNECT
acl SSL_ports port 3128
http_access deny CONNECT !SSL_ports
https_port 3128 # cert=/etc/squid/ssl/server.pem key=/etc/squid/ssl/server.key
у Вас стартует если так закоментить ?
чем ключи создавали? может мои не подходят...openssl создавал.
Залез по ssh на работу, запустил там скрипт из /etc/pki
Стянул обратно домой. Лень было руками три команды запускать, потому что параметров не помню наизусть.
Там тоже openssl используется для генерации.
Если так закоментировать, то стартовать не должен.
В общем, у меня сейчас тоже не работает ничего. Ругань в логах на негоциацию с клиентом. Пытаюсь понять, почему работало сначала. Скорее всего я тебя ввёл в заблуждение.
Версии сквидов у нас различаются. Завтра на работе на центоси потренируюсь, отпишусь, если за сегодня решение не найдёшь. Сегодня у меня уже голова не работает.
А насколько критично устанавливать ssl соединение с самим прокси? Может оно нафиг не надо?
Вот человек выше предложил свой конфиг, коментю его личное и запускаю, исправляю все ошибки логе, дохажу до :
Error: the proxy server (Squid) is not configured to allow SSL tunnel to port 80.
To fix the problem please find and comment the following line in the Squid
configuration file (squid.conf):
http_access deny CONNECT !SSL_ports
и все....опять вернулся в начало.
т.е.
с дефолтным конфигом,
коментю http_access deny CONNECT !SSL_ports
и все таже ошибка - закоментируйте http_access deny CONNECT !SSL_ports
Во первых http_access deny CONNECT !SSL_ports запрещает коннект с прокси на не ссл-порты, а не то, что тебе нужно.
Во вторых в конфиге человека нет сертификатов, так что он ничем не отличается от моего минимального, только строк больше и он не обеспечит тебе поднятие ссл между тобой и прокси, чтобы проводить не-ссл трафик поверх ссл-соединения до прокси.
В третьих у тебя в центоси должен быть готовый скрипт в /etc/pki для генерации самоподписанных сертификатов, так что воспользуйся им и не мучайся.
И возьми за основу мой конфиг с https_port. По крайней мере он делает то, что тебе нужно — поднимает ссл-соединение между клиентом и прокси.
Останется только в логи глянуть и понять чего ему не хватает.
и all и localnet в моем конфиге есть и замечательно работает на 2.7, либо думайте где вы не так скопировали, либо ищите почему это вдруг localhost, заданный абсолютно аналогично - работает, а all и localnet - нет.
Если ты хочешь поднять ssl между собой и прокси, то тебе *нужен сертификат*.
Тогда у тебя и весь траффик пойдёт поверх шифрованного канала до прокси, затем нешифрованный пойдёт после прокси в открытую.
насчет локалхоста, кстати, я тоже не шибко уверен, ибо в доке черным по белому написано, что дефолтного значения нет, и это значение будет использоваться вместо серверов из resolv.conf
hint - в resolv.conf может быть прописан не локалхост, несмотря на то что на локалхосте днс-сервер есть.
У меня у самого 2.7 и acl all src 0.0.0.0/0.0.0.0 в конфиге имеется. Просто вроде "Lumi порожняк не гонит". Дома в конфиге сквида явно DNS-сервер не задан, берётся из resolv.conf. В универе на кафедре прописан dns_nameservers, указывающий на сам хост, на нём bind9 и forwarders на провайдера. И так, и так, работает.
hint - в resolv.conf может быть прописан не локалхост, несмотря на то что на локалхосте днс-сервер есть. Если в resolv.conf DNS-сервера провайдера/шлюза к примеру, на локалхосте крутится bind и разрешает только локальную зону интранета, без forwarders, то тоже будет работать, это проверено. У меня такой конфиг был пока я bind не настроил. Запросы машин из интранета приходили на кафедральный сервак на squid, адреса ресолвились с source DNS-серверов из resolv.conf, дальше понятно, всё работало. Потом поставил bind и чтоб смело раздавать/вписывать свой DNS-сервер клиентам в сетке, вписал forwarders в named.conf.options и dns_nameservers в squid.conf.
access_log /var/log/squid/access.log
visible_hostname <hostname>
tcp_outgoing_address <out_ip>
icp_port 0
http_port 3128
cache_peer <parent_dns> parent 8080 0 default
shutdown_lifetime 0 seconds
never_direct allow all
cache_mem 128 MB
cache_dir diskd /Data/squid 15500 64 256
maximum_object_size 20000 KB
cache_store_log none
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
refresh_pattern ^ftp: 43200 20% 10080
refresh_pattern ^gopher: 43200 0% 1440
refresh_pattern . 43200 100% 2563200 ignore-no-cache reload-into-ims override-lastmod override-expire ignore-reload
half_closed_clients off
acl manager proto cache_object
acl localhost src 127.0.0.1 <my_ips>
acl to_localhost dst 127.0.0.0/8
acl localnet src 192.168.99.2 # RFC1918 possible internal network
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 20 # ftp
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
acl ban urlpath_regex -i \.bmp$ \.swf$
acl bban urlpath_regex -i \.exe$ \.rar$
acl sban urlpath_regex vkontakte
delay_pools 2
delay_class 1 1
delay_access 1 allow bban
delay_access 1 deny all
delay_parameters 1 50/5000
delay_class 2 1
delay_access 2 allow sban
delay_access 2 deny all
delay_parameters 2 300/5000
reply_body_max_size 3 MB all
request_body_max_size 300 KB all
http_access deny ban
http_access allow localhost
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny to_localhost
http_reply_access allow all
icp_access deny all
http_access deny all
append_domain <my_domain>
deny_info ERR_CUSTOM_ACCESS_DENIED all
memory_pools off
coredump_dir /var/spool/squid
https не идет через прокси (идет напрямую, в обход squid'а). Если же говорю https_port 3128 (что и нужно, чтобы «проксировать» https), то, естественно, ругается на отсутствующий у меня сертификат.
Надо как-нибудь заняться. Хотя, может, даже мой https-ный сертификат подойдет...
4.2. Укажи в resolv.conf валидный IP DNS-сервера, а в squid.conf dns_nameservers <любой IP> , сделай squid -k reconfigure, и посмотрим какую ошибку тебе выдаст браузер при запросе любой нелокальной веб-страницы через прокси.