CakePHP 3.4 DebugKit не будет запрашивать через TLS за балансировщиком нагрузки AWS

Я запускаю свое веб-приложение на AWS Elastic Beanstalk в тех случаях, когда используется балансировщик нагрузки. Я прекращаю HTTPS на балансировщике нагрузки согласно Документации AWS.

Apache настроен на перезапись любых входящих http-запросов в https через эту директиву: <VirtualHost *:80> RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} </VirtualHost>

Кроме того, я использую компонент безопасности CakePHP для перенаправления любых соединений без https-заголовка X-Forwarded-Proto на защищенные соединения.

Несмотря на это, мое приложение все еще запрашивает небезопасные активы DebugKit, и сервер отвечает в открытом виде. Это приводит к тому, что Internet Explorer не запускает сценарии DebugKit, поскольку они не являются защищенным содержимым. Я отключил смешанную защиту содержимого в IE, но это не позволило запустить DebugKit.

В конечном счете, я предпочел бы обслуживать все безопасно, а не прибегать к решению проблемы на стороне клиента. Какие-либо предложения? Что мне не хватает?

1 ответ

Решение

Так что я нашел ответ на этот вопрос. По сути, я могу либо отредактировать файл cake/bootstrap.php для поиска X-Forwarded-Proto, либо использовать.extensions, чтобы вручную установить переменную сервера HTTPS.

Другие вопросы по тегам