Несколько дней назад мы получили сообщение об ошибке «Строгий TLS в CDN не поддерживается» в 1 приложении Heroku, которое находится за прокси-сервером Cloudflare (оранжевое облако, если вы знаете Cloudflare).
Обычно клиент запрашивает https://foo.example.com передаются через Cloudflare, который затем делает запросы к https://foo.herokuapp.com,, кэширует ответ и передает результат обратно клиенту.Обратите внимание, что вся цепочка по HTTPS.Мы настроили Clouflare на только связь с конечным сервером по протоколу HTTPS, и мы не хотим, чтобы конечный сервер отправлял ответы по HTTP.
Похоже, что политика Heroku отсутствуетбольше позволяет работать через SSL, когда они обнаруживают, что вы находитесь за прокси-сервером, который уже обрабатывает SSL.За последнюю неделю все больше приложений начали показывать эту ошибку, и нам пришлось отключить прокси Cloudflare. Вот их документация по этому вопросу, и указана причина «потому что Cloudflare предоставляет SSL-сертификаты».
Кто-нибудь еще сталкивался с этим и нашел обходной путь?Хотя Cloudflare по-прежнему предотвращает определенные уязвимости от клиента до Cloudflare, это оставляет другие уязвимости открытыми от Cloudflare до конечного сервера.
Обновление: Я получил ответ от Heroku об этом:
ACM может использоваться с Full или Flexible, а также может работать с «Full (Strict)», но это не рекомендуется.Режим «Полный (Строгий)» ... может использоваться после завершения ACM.Если необходимо «Полное (строгое)», мы рекомендуем использовать более длительный сертификат, выданный ЦС, с процессом подписания CSR.
Однако я не нашел вышеизложенного верным.При любой настройке (Полная или Строгая) Heroku всегда сообщает об указанной выше ошибке.Я установил сертификаты происхождения от Cloudflare, чтобы решить эту проблему.