Как вы перенаправляете HTTPS в HTTP? То есть противоположность тому, что (кажется) каждый учит.
У меня есть сервер на HTTPS, за который я заплатил сертификацию SSL, и зеркало, для которого я не имею и держу его под рукой только для экстренных случаев, поэтому не стоит получать сертификацию.
На рабочих столах моего клиента у меня есть НЕКОТОРЫЕ ярлыки, которые указывают на http://production_server
и https://production_server
(оба работают). Однако я знаю, что если мой https://mirror_server
рабочий сервер выйдет из строя , то переадресация DNS включится, и те клиенты, у которых есть ярлык «https», будут смотреть (что не работает) и большой толстый красный экран беспокойства Internet Explorer 7 для моей компании.
К сожалению, я не могу просто переключить это на уровне клиента. Эти пользователи очень неграмотны в компьютерах: и очень вероятно, что они увидят ошибки "небезопасности" HTTPS (особенно то, как Firefox 3 и Internet Explorer 7 в настоящее время обрабатывают это: полная остановка, к счастью, но не помогает мне здесь, LOL).
Это очень легко найти решения Apache для HTTP-> HTTPS Перенаправление , но для жизни меня я не могу сделать наоборот.
Идеи?
Ответы:
Это не было проверено, но я думаю, что это должно работать с использованием mod_rewrite
источник
Имейте в виду, что механизм перезаписи включается только после получения HTTP-запроса - это означает, что вам все равно понадобится сертификат, чтобы клиент мог установить соединение для отправки запроса!
Однако если машина резервного копирования будет иметь одно и то же имя хоста (в отношении клиента), то не должно быть никаких причин, по которым вы не можете использовать тот же сертификат, что и основной рабочий компьютер.
источник
Исходя из ответа ejunker, это решение работает для меня не на одном сервере, а в облачной среде
источник
Для тех, кто использует
.conf
файл.источник
Если ни одно из вышеуказанных решений не работает для вас (они не для меня), вот что сработало на моем сервере:
источник
L,
(что означает «Последнее правило»). Если вы используете WordPress или другую CMS,L
флаг может помешать правильной маршрутизации запроса страницы. Вместо этого используйте:RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301]
все вышеперечисленное не работало, когда я использовал cloudflare, этот работал для меня:
и этот определенно работает без прокси в пути:
источник
Лучше избегать использования mod_rewrite, когда вы можете.
В вашем случае я бы заменил переписать на это:
<If>
Директива доступна только в Apache 2.4+ , как в этом блоге здесь .источник
/usr/sbin/httpd -v
это работает для меня.
обязательно прослушайте оба порта 80 и 443.
источник
Ни один из ответов не работает для меня на веб-сайте Wordpress, но следующие работы (это похоже на другие ответы, но есть небольшие изменения)
источник
Насколько я знаю, простое обновление метаданных также работает без ошибок:
источник