Обратный прокси-сервер Squid перенаправляет / перезаписывает HTTP на HTTPS

Мой обратный прокси-сервер Squid принимает только HTTPS-запросы. Как можно быстрее перенаправить / переписать HTTP-запрос на https? Поэтому, если пользователь посещает http://foo.server.com , он должен быть автоматически перенаправлен на https://foo.server.com

3
задан 11 November 2015 в 15:33
1 ответ

Один из способов - заставить исходный сервер сделать редирект, но кажется более эффективным заставить Squid сделать это. Есть несколько подходов, но использование deny_info кажется самым простым.

В конфигурационном файле squid.conf:

acl PORT80 myport 80
acl MYSITE dstdomain foo.server.com
http_access deny PORT80 MYSITE
deny_info 301:https://foo.server.com%R MYSITE

На первый взгляд, оператор http_access просто запрещает доступ к HTTP-версии вашего сайта. Однако из-за утверждения deny_info Squid будет перенаправлять пользователей на альтернативный сайт (в данном случае на HTTPS версию), а не просто выдавать сообщение об отказе в доступе.

Тэг %R приводит к тому, что путь URL запроса будет включен в редирект, так что если пользователи попытаются зайти на http://foo. server.com/bar, то они получат направление на https://foo.server.com/bar, а не только на https://foo.server.com.

Полный список тегов формата URL доступен в документации Squid: http://www.squid-cache.org/Doc/config/deny_info/

Порядок операторов acl важен, так как Squid запоминает только последний http_access deny и ищет deny_info, соответствующий этому acl.

.
4
ответ дан 3 December 2019 в 06:03

Теги

Похожие вопросы