У меня есть httpd.conf:
.....
Listen eagnmnmed338:9080
Listen eagnmnmed338:9443
.....
LoadModule rewrite_module modules/mod_rewrite.so
.....
<VirtualHost eagnmnmed338:9080>
RewriteEngine On
# Disable Trace and Track
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
# restrict to HTTP 1.1
RewriteCond %{THE_REQUEST} !HTTP/1\.1$
RewriteRule .* - [F]
</VirtualHost>
<VirtualHost eagnmnmed338:9443>
.....
</VirtualHost>
.....
, он работает как для http, так и для https.
Мне нужно перенаправить запросы http на https.
Я добавляю:
RewriteEngine On
RewriteCond %{SERVER_PORT} =9080
RewriteRule ^http://%{SERVER_NAME}%{SERVER_PORT}%{REQUEST_URI} https://%{SERVER_NAME}:9443/%{REQUEST_URI} [R,L]
до определения виртуального хоста на 9080 в глобальной области.
он не перенаправляет.
Я также добавляю
RewriteRule ^http://%{SERVER_NAME}%{SERVER_PORT}%{REQUEST_URI} https://%{SERVER_NAME}:9443/%{REQUEST_URI} [R,L]
в пределах блока 9080 по умолчанию, но он не работает.
Любое предложение приветствуется.
Некоторые предыстории: запрос http (порт 80) сначала переходит к netsscaler,netscaler перенаправит запрос хостам в качестве баланса нагрузки на 9080.
Спасибо