Я пытался перенаправить веб-трафик с HTTP к HTTPS добавив строку в httpd.conf
файл:
Redirect permanent / https://100.100.100.100
но безрезультатно. Ответ браузера: Firefox has detected that the server is redirecting the request for this address in a way that will never complete
.
Я понимаю, что это работает для доменных имен, но мой сервер их не использует. Есть ли способ обойти это / что я делаю не так.
Я подозреваю, что ваша строка Redirect находится в части конфигурационного файла, которая влияет как на SSL, так и не на SSL. Следовательно, даже когда вы запрашиваете версию SSL, вы все равно получаете перенаправление на версию SSL.
Если у вас есть часть файла конфигурации, не предназначенная только для SSL, переместите туда перенаправление. Если нет, преобразуйте его в RewriteRule и используйте RewriteCond перед ним следующим образом:
RewriteCond %{HTTPS} off
RewriteRule / https://100.100.100.100/ [R=301]
В Apache есть специальная страница под названием "Когда не использовать mod_rewrite"
Следуйте их примеру
Чтобы перенаправить URL-адреса http на https, сделайте следующее:
<VirtualHost *:80>
ServerName www.example.com
Redirect "/" "https://www.example.com/"
</VirtualHost >
<VirtualHost *:443>
ServerName www.example.com
# ... SSL configuration goes here
</VirtualHost >
Используйте mod_rewrite:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [R,L]