Как настроить HTTPS в Apache

12
NikolaZ
На сайте с 17.12.2007
Offline
100
2753

Надо настроить в httpd.conf виртуальные хосты, так, чтобы HTTPS работал на одном домене, а на всех остальных доменах, была переадресация с HTTPS на HTTP или просто, чтобы HTTPS не работал. Так можно сделать?

M
На сайте с 16.09.2009
Offline
278
#1
NikolaZ:
Надо настроить в httpd.conf виртуальные хосты, так, чтобы HTTPS работал на одном домене, а на всех остальных доменах, была переадресация с HTTPS на HTTP или просто, чтобы HTTPS не работал.

Ну так настройте.

Не вижу проблем, если вы хотя бы хавту с сайта апача почитали. Вот документация, вперед:

http://httpd.apache.org/docs/2.2/

http://httpd.apache.org/docs/

В чем конкретно заключается проблема?

NikolaZ:
Так можно сделать?

Да, можно.

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
NikolaZ
На сайте с 17.12.2007
Offline
100
#2

И к чему эти ссылки? Вопрос был конкретный.

M
На сайте с 16.09.2009
Offline
278
#3
NikolaZ:
И к чему эти ссылки? Вопрос был конкретный.

Это самый конкретный ответ на ваш конкретный вопрос :)

Куда уж еще конкретнее. Нужный домен - повесьте на выделенный IP-адреса (сделайте два отдельных виртуалхоста, на 80 и 443 портах). Остальные домены - вешайте на другие IP (и только 80 порт).

Если вам это ни о чем не говорит - обратитесь к документации апача. В вашем случае, наверно, стоит стартовать с Users' Guide: Virtual Hosts.

NikolaZ
На сайте с 17.12.2007
Offline
100
#4

IP-адрес общий, а не выделенный.

M
На сайте с 16.09.2009
Offline
278
#5
NikolaZ:
IP-адрес общий, а не выделенный.

На общем, увы - такое невозможно:

http://httpd.apache.org/docs/2.2/ssl/ssl_faq.html#vhosts

Вам стоит сперва хоть что-то почитать про SSL. Есть расширение TLS (RFC 3546), которые позволяют обойти это - но далеко не все популярные браузеры его поддерживают:

http://en.wikipedia.org/wiki/Server_Name_Indication

Himiko
На сайте с 28.08.2008
Offline
561
#6

Сделать можно.

Только в любом случае сначала браузер сругается сначала на сертификат, т.к. он будет принадлежать другому сайту.

1) Для всех сайтов добавьте виртуалхосты с 80-м портом.

2) Для нужного включите SSL (порт 443)

И в .htaccess этого домена пропишите:

RewriteCond %{HTTPS} on

RewriteCond %{HTTP_HOST} !site\.ru$ [NC]

RewriteRule (.*) http://%{HTTP_HOST}/$1 [R=301,L]

site\.ru - это домен сайта, который должен работать по HTTPS.

P.S.: Это не сработает, если у вас есть заглушка при запросе несуществующего сайта. (некоторые панели автоматом это делают)

Если у вас не получится и потребуется помощь, можете написать в чат на сайте systemintegra.ru. Поможем недорого.

Профессиональное администрирование серверов (https://systemintegra.ru). Круглосуточно. Отзывы (/ru/forum/834230) Лицензии (http://clck.ru/Qhf5) ISPManager,VDSManager,Billmanager e.t.c. по низким ценам.
M
На сайте с 16.09.2009
Offline
278
#7
Himiko:
Сделать можно.
Только в любом случае сначала браузер сругается сначала на сертификат, т.к. он будет принадлежать другому сайту.

Нифига себе "можно". Если вы предлагаете клиентам не обращать внимание на "ругань" о сертификатах - что проку в SSL, смысл оного ниввелируется напрочь?

Himiko
На сайте с 28.08.2008
Offline
561
#8

Я предлагаю решение, т.е. редирект, как и просил ТС.

На основном сайте SSL будет работать "как надо", а SSL ему на других сайтах не нужен, судя по

а на всех остальных доменах, была переадресация с HTTPS на HTTP или просто, чтобы HTTPS не работал

Я подсказал как сделать ровно то, что просил ТС. Не больше и не меньше.

Можно вообще только нужному хосту открыть доступ к 443-му порту и это тоже вариант решения задачи ТС, т.к. он указал, что HTTPS на других сайтах может вообще не работать и его это устроит.

И напомню, что с вами я что-либо обсуждать не собираюсь.

M
На сайте с 16.09.2009
Offline
278
#9
Himiko:
Я предлагаю решение, т.е. редирект, как и просил ТС.

Давайте допустим пока, что ему интересно не только ваше "решение", но его критика. Если есть что на нее ответить - сделайте это. Нет - помолчите.

Himiko:
На основном сайте SSL будет работать "как надо", а SSL ему на других сайтах не нужен

Если "не нужен", это значит нужно там делать "редиректы", которые попусту не сработают для нормальных пользователей?

Himiko:
Можно вообще только нужному хосту открыть доступ к 443-му порту и это тоже вариант решения задачи ТС

И это не сработает без "браузер сругается на сертификат".

В чем, собственно, проблема для ТС сделать нормально, присвоив HTTPS сайтам отдельные IP?

Himiko
На сайте с 28.08.2008
Offline
561
#10

см. выше

И напомню, что с вами я что-либо обсуждать не собираюсь.

Я вижу просьбу ТС

чтобы HTTPS работал на одном домене, а на всех остальных доменах, была переадресация с HTTPS на HTTP

и говорю как сделать такое и рассказываю, про возможные проблемы.

И это не сработает без "браузер сругается на сертификат".

Для тех, кому хочется просто "доколупаться" - Это можно сделать даже фаерволом. Надеюсь, что не придётся учить использовать -m string

При этом никаких там ошибок сертификата, которые пугают местного умника. Просто сайт перестанет открываться по HTTPS.

ТС Что просил -> то получил. Я полностью ответил на вопрос ТС и не собираюсь строить из себя ГУРУ и обсуждать с ним, что он не правильно мыслит и учить его жизни + выставлять себя шибко умным и давать ссылки на доки, как некоторые.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий