Три виртуальных хоста на одном ip +ssl

Автор ivanm, 19 января 2017, 12:48:04

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

ivanm

Debian 8.5 + Apache 2.4
На одном сервере с одним ip адресом хостится 3 сайта. все работает как и надо.
Необходимо один из них сделать по доступу https с ssl сертификатом
сертификат сгенерировал через zerossl.com

прописываю в файле настройки хоста:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
Server Name domain.com
DocumentRoot /var/www/domain.com
SSLEngine on
SSLCertificateFile /var/ssl/domain.com.crt
SSLCertificateKeyFile /var/ssl/domain.com.key
и тд
</IfModule>
после перезагрузки апача при попытке захода на испытуемый сайт - просто идет переброс на другой из трех сайт.
что делать-ума не приложу (уже перелопатил первые 20 страниц из выдачи гугл - все бестолку)
Подскажите куда и как копать...

endru

Это в каком файле ты делаешь изменения?
apache плохо работает с сайтами по умолчанию, поэтому меняй свой _default_ на *
как переходишь на страницу? по IP или по доменному имени?
ls /etc/apache2/sites-enabled/
cat /etc/apache2/ports.conf

ivanm

1.изменения делаю в domain.com.conf
2.менял на _default_ на * - тоже самое происходит
3.на страницу по доменному имени конечно..все три сайта имеют доменные имена

Понимаю что ip один, но ведь есть SNI и должно оно работать через нее на одном ip по идее..

endru

#3
у меня гораздо больше доменов на одном IP. и проблема явно в конфигах!
поэтому без полных конфигов (лишнее можно скрыть) тут помочь нечем...

ivanm

проблемма немного прояснилась:
когда ввожу https://domain.com - попадаю на правильное ssl соединение. УРА!
а вот когда просто domain.com либо www.domain.com - сбрасывает на другой сайт
Redirect permanent / https://domain.com - не помогло!

endru

Значит у тебя не отрабатывает конфиг для сайта без ssl!
Нужно его смотреть.

ivanm

помогите настроить правильно редиректы.мучаюсь уже 3й день.все мануалы перепробовал.
есть 3 виртуальных домена на одном VPS с одним IP.
два из них доступны по http, один по https c SSL сертификатом.
Необходимо чтобы пользователь вводя: www.domain.com, domain.com, https://www.domain.com - попадал на https://domain.com
vps в digitalocean. Apache 2.4.10
DNS по домену настроил следующим образом: A: domain.com, A: www.domain.com
файл конфига домена:
<VirtualHost *:80>
ServerName domain.com
ServerAlias *.domain.com
DocumentRoot /var/www/domain.com
Redirect / https://domain.com/
</VirtualHost>

<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName domain.com
ServerAlias *.domain.com
ServerAdmin admin@domain.com
DocumentRoot /var/www/domain.com
DirectoryIndex index.html
<Directory /var/www/domain.com>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>
ErrorLog /var/www/domain.com/admin/error.log
CustomLog /var/www/domain.com/admin/access.log combined
SSLEngine on
SSLCertificateFile /var/ssl/domain.com.crt
SSLCertificateKeyFile /var/ssl/domain.com.key
</VirtualHost>
</IfModule>


сейчас выдает:
curl -I http://www.domain.com - 302 Found (мне нужно 301)
curl -I http://domain.com - 302 Found (мне нужно 301)
curl -I https://domain.com - 200 OK
curl -I https://www.domain.com - No alternative SSL found (это потому что сертификат выдан на domain.com без www)

в браузерах вообще какая то непонятка происходит:
- в firefox под linux при вводе: http://www.domain.com и http://domain.com - перебрасывает на https://domain.com
- в хроме под виндой: http://www.domain.com перебрасывает на https://domain.com, а вот при вводе http://domain.com - апач перебрасывает на
первый попавшийся домен из трех, тоесть на другой сайт.


endru

у браузеров свой кэш редиректов! если ты делаешь изменения, то полностью удаляй весь кэш браузера!