Перенаправлення вибраних HTTP-запитів із Squid на HTTPS
Повертайте клієнтське перенаправлення для відомих сайтів із підтримкою HTTPS замість того, щоб тихо змінювати кожен вихідний HTTP URL або припускати, що проксі може створити підтримку TLS на джерелі.
Squid може попросити браузер повторити вибраний HTTP URL через HTTPS. Призначення вже має надавати відповідний ресурс через HTTPS; запуск Squid на Raspberry Pi не створює цієї можливості на сайті.
Для інтерфейсу url_rewrite_program у Squid 7 helper може повернути клієнтське перенаправлення, наприклад:
OK status=307 url="https://www.example.com/help"
Це одна ілюстративна відповідь helper для відповідного запиту, а не повна програма helper. Браузер отримує перенаправлення і робить новий запит до HTTPS URL. URL поза політикою оновлення може отримати OK і залишитися без змін.
Використовуйте відомий список призначень із підтримкою HTTPS і аналізуйте вхідний URL. Зберігайте передбачений шлях і query, враховуйте явні порти та свідомо обробляйте методи запиту. Сліпа заміна кожного префікса http припускає, що кожне джерело має еквівалентну службу HTTPS.
Helper має відповідати на кожен вхідний рядок за протоколом встановленої версії Squid. Якщо ввімкнено паралельні канали helper, зберігайте ідентифікатор каналу у відповіді. Старий голий приклад 301:URL не є взаємозамінним із поточним форматом result-and-key/value.
Обирайте клієнтське перенаправлення, коли браузер має знати новий URL. Відповідь rewrite-url натомість просить Squid отримати інший URL за початковим запитом клієнта, що може залишити URL застосунку та його стан неузгодженими.
Початковий HTTP-запит уже дійшов до Squid до того, як helper зможе його перенаправити. Ця політика не може заднім числом захистити той запит. TLS починається на наступному HTTPS-з'єднанні; лише тунель CONNECT не дає жодного шифрування.