Назад | Перейти на главную страницу

URL-адреса squid и https

Я установил squid как непрозрачный прокси / кеш-сервер с --enable-ssl конфигурация. Это дочерний элемент родительского прокси-сервера. proxy1.ut.ac.ir.

Все ок для HTTP URL-адреса, но любые HTTPS URL-адрес получает ответ 404 Server not found (например для Gmail или https://www.google.com).

Это access.log записи для открытия www.gmail.com:

1279493581.278    544 127.0.0.1 TCP_MISS/302 1136 GET http://mail.google.com/mail/ - DEFAULT_PARENT/proxy1.iut.ac.ir text/html
1279493581.283      0 127.0.0.1 TCP_MISS/404 0 CONNECT www.google.com:443 - DIRECT/- -

И squid в терминале говорит:

2010/07/18 18:52:27| ipcacheParse: No Address records in response to 'www.google.com'

Здесь squid.conf:

http_port 3128

http_access allow all

cache_peer proxy1.ut.ac.ir parent 3128 0 no-query default no-digest no-netdb-exchange

cache_dir ufs /usr/local/squid/var/cache 100 16 256
coredump_dir /usr/local/squid/var/cache

Когда я установил proxy1.ut.ac.ir в качестве прокси-сервера в браузерах, поэтому в родительском прокси-сервере все в порядке.

Похоже, что сервер, на котором размещен Squid, не может разрешить мне имя www.google.com.

Вторая строка в вашем примере access.log сообщает вам, что squid не отправляет запрос в родительский кеш, а скорее пытается установить прямое соединение с www.google.com ( DIRECT/- это наводка). Если вы хотите, чтобы запросы CONNECT отправлялись в родительский кеш, добавьте never_direct allow CONNECT директиву в ваш файл squid.conf, и вы приступите к делу.