Я новичок в облачном хостинге...
Я работаю над веб-приложением PHP, которое размещено на Heroku в качестве приложения "Cedar". Heroku предлагает "копировать обратно" SSL для всех своих поддоменов, поэтому я могу загрузить https://myapp.herokuapp.com
просто отлично. Но я также могу загрузить http://myapp.herokuapp.com
. Я хочу заставить SSL перенаправлять запросы http
на https
.
Обычно это было бы легко. Я бы просто использовал mod_rewrite следующим образом:
RewriteCond %{HTTPS} != on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
НО ЭТО НЕ РАБОТАЕТ НА ГЕРОКУ!
Похоже, что SSL завершает восходящий поток, прежде чем трафик когда-либо попадет в мое приложение. Таким образом, условие %{HTTPS}
никогда не выполняется, и результатом является цикл переадресации. Я также пробовал следующее, что также не сработало:
RewriteCond %{SERVER_PORT} != 443 #<--also redirect loop
RewriteCond %{REQUEST_SCHEME} !https #<--also redirect loop
Итак, мой вопрос в том, как я могу обнаружить/перенаправить на HTTPS, когда он завершит восходящий поток?