Я собрал следующие конфигурации, проходящие через различные посты, связанные с эластичными beanstalk и конфигурациями apache. Чего я хочу достичь, так это
- Определите, приходит ли запрос от eb health checker
- Принудительно каждый запрос перейти на www.mysite.com
Также заставляйте каждый запрос быть https
# Helps to identify Elastic beanstalk health checker in my application ( for Django ALLOWED_HOSTS setting)
<If "req('User-Agent') == 'ELB-HealthChecker/1.0' && %{REQUEST_URI} == '/health/'">
RequestHeader set Host "healthcheck.amazon.com"
</If>
# Rewrite all mysite.com/.. urls to www.mysite/..
<If "%{HTTP_HOST} == 'mysite.com'">
RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301]
</If>
# Force ssl on every request
# How should I prevent this rewriting if the requested url is '/health' ?
<If "-n '%{HTTP:X-Forwarded-Proto}' && %{HTTP:X-Forwarded-Proto} != 'https'">
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</If>
Как вы думаете, это лучший способ сделать это? Могу ли я сделать какие-либо улучшения для предотвращения ненужных перенаправлений?
Также я не могу понять, как предотвратить переписывание определенного URL-адреса в https. например / здоровье на шаге 3
Любое понимание этого очень ценится.
P.S. Я не использую файл .htaccess. Эти настройки будут сохранены в файле конфигурации в httpd / conf.d /