2012-01-07 2 views
0

Я пытаюсь перенаправить входящие запросы на https://www.domain.com/ и все https://www.domain.com/ {all pages} и с небольшими проблемами. Методы Я пробовал:Apache force SSL

  1. Добавление этой строки: Redirect permanent/https://www.domain.com/ к моему httpd.conf вызывает слишком много перенаправлять

  2. Использование .htaccess для перенаправления с mod_rewrite заканчивается в 302 Moved страницы со сломанной ссылке.

Что я хочу:

  1. переадресовать все запросы к HTTPS: //www.domain.com/, в том числе HTTP: //www.domain.com/signup и страницы, как, что к HTTPS версии

Я искал много потоков на это, но они, кажется, не относятся к моей установке. Как мне подойти к этому?

ответ

1

Это идет как:

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

Источник: http://systembash.com/content/force-https-ssl-access-url-apache/

+0

Это то, что я имел. Он работает только для hxxp: //www.domain.com/. Если вы перейдете к hxxp: //www.domain.com/account/ (который в моем случае является псевдонимом Apache для/var/www/account), он не изменяет URL. – tmrhmdv

4

Там в отличие проблемы с этим подходом - если вы делаете автоматический не-SSL перенаправляется на SSL веб-страницу, вы теряете безопасность, что SSL должен обеспечить. Если кто-то может MITM вашего веб-сервера без SSL, он может перенаправить на свой собственный SSL-сервер (с реальным сертификатом), и браузер не узнает разницу.

т.е. http://www.example.com перенаправляет https://www.example.com, может быть сорван человеком в центре нападения, где поддельный http://www.example.com перенаправляет https://i-will-steal-your-credit-card.com, и до тех пор, как i-will-steal-your-creditcard.com имеет действительный сертификат, браузер выиграл 't предупредить пользователя о том, что что-то не так, пользователь увидит значок маленького замка и подумает, что все круто, и начните вводить номера кредитных карт.

Лучшей практикой является страница, которая объясняет, что им действительно нужна версия SSL для URL-адреса и интерактивная ссылка. Конечно, плохой парень мог сделать то же самое, но параноидальные люди всегда проверяют ссылку, на которую они нажимают, фактически ссылаются на то, что она говорит.

Предоставлено, что большинство людей не параноидально и будут сердиться на дополнительный шаг - так что если у вас есть какие-либо маркетинговые люди, принимающие решения об этом вверх по течению от вас - вероятность того, что вы закончите делать это http-> https automatic перенаправления. Это связано с тем, что маркетинг и клиенты обычно не понимают SSL.

0
RewriteEngine On 
RewriteCond  %{HTTPS} Off 
RewriteRule  ^(.*)$  https://%{HTTP_HOST}$1 [R,L] 

Обратите внимание на $ 1, который добавляет информацию о пути