2013-07-05 4 views
1

В настоящее время я использую веб-сайт, написанный на стойках. Я использую веб-сервер Apache и использую AJP для ProxyPass для моего веб-приложения на сервере Apache tomcat.Перенаправление веб-сайта с http на https

Мой сервер - сервер Ubuntu, размещенный в Amazon. Я смог успешно запустить мое веб-приложение с помощью http.

Теперь я планирую реализовать SSL для вышеуказанного веб-приложения. Я выполнил все шаги по реализации SSL и теперь я могу доступ мой веб-приложение успешно использует протокол HTTPS, то есть https: // {} MY_APPLICATION_URL

Теперь вопрос с: когда пользователь вводит свой URL приложения как HTTP: // {MY_APPLICATION_URL} или {MY_APPLICATION_URL}, мне нужно перенаправить и заставить их использовать только https: // {MY_APPLICATION_URL}. http доступа не должно быть.

Я нашел следующую ссылку: http://www.sslshopper.com/apache-redirect-http-to-https.html и установленный модуль перезаписи на сервере apache (через webmin). Затем добавили следующие строки в виртуальный хост моего приложения (Редактировать директивы).

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

Даже после того, как выше перенаправления, когда пользователь вводит Http: // {MY_APPLICATION_URL} или {MY_APPLICATION_URL} отображает приветствие по умолчанию страницу моего Apache сервера. Однако, когда я набираю https: // {MY_APPLICATION_URL}, мне удалось получить доступ к моему веб-приложению.

Может ли кто-нибудь направить меня, где я делаю неправильно.

Thank you.

ответ

2

Это решение помогло мне.

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{SERVER_PORT} 80 
    RewriteRule ^(.*)$ https://domain.name/$1 [R,L] 
</IfModule> 

Я надеюсь, что это будет полезно для вас.

+0

Нет .. не работает для меня :(Вы включили модуль mod_rewrite или переписываете модуль в apache? –

+0

Да, в моем httpd.conf (CentOS) у меня есть строка, такая как LoadModule rewrite_module modules/mod_rewrite.so; также настроил VirtualHost для вашего домена, прослушивая 443-й порт? – eh0t

+0

yes .. Я уже настроил свой VirtualHost для прослушивания 443-порта, поэтому я смог успешно получить доступ к https: // {MY_APPLICATION_URL}. Теперь проблема связана только с http:// {MY_APPLICATION_URL}. –

Смежные вопросы