Vesta 2.0 is coming soon! See our progress update: https://vestacp.com/docs/vesta-2-update
Перепутанные SSL домены
Re: Перепутанные SSL домены
Привет, думаю самый простой выход будет в том SSL сайте, который открывается вместо нужных сайтов, или вообще во всех SSL сайтах добавить вот такие строки в .htaccess:
(Вместо mydomain.com нужно вписать свой домен сайта)
Code: Select all
<IfModule rewrite_module>
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} !mydomain\.com$
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
Re: Перепутанные SSL домены
Пардон, а код проверяли? А то какой-то он не очень рабочий )Deeryo wrote:Привет, думаю самый простой выход будет в том SSL сайте, который открывается вместо нужных сайтов, или вообще во всех SSL сайтах добавить вот такие строки в .htaccess:
(Вместо mydomain.com нужно вписать свой домен сайта)
Re: Перепутанные SSL домены
Да проверил, работает =) Может конкретному сайту не хватет "RewriteEngine On", это зависит от сайта, два раза "RewriteEngine On" пихать в htaccess не стоит.
Логика вообще-то простая, редирект на http делается в случае https и если имя сайта не то, что ожидается.
Логика вообще-то простая, редирект на http делается в случае https и если имя сайта не то, что ожидается.
Re: Перепутанные SSL домены
Да, логика понятная :)Deeryo wrote:Да проверил, работает =) Может конкретному сайту не хватет "RewriteEngine On", это зависит от сайта, два раза "RewriteEngine On" пихать в htaccess не стоит.
Про реврайт энжин я совсем забыл - отличное решение!
Re: Перепутанные SSL домены
Переписал и для nginx, работает :)Deeryo wrote:Логика вообще-то простая, редирект на http делается в случае https и если имя сайта не то, что ожидается.
Code: Select all
if ($host !~* "domain.ru") {
rewrite ^ http://$host$request_uri permanent;
}
(ну или в том конфиге где первый оборотень с ссл)
Re: Перепутанные SSL домены
Классно, можно подумать даже о шаблоне nginx для ssl
Re: Перепутанные SSL домены
Ну вообще-то я как бы уже :)Deeryo wrote:Классно, можно подумать даже о шаблоне nginx для ssl
С указанными твиками тестирование сертификата startssl спокойно дает А+
....
/usr/local/vesta/data/templates/web/nginx/hosting.stpl
(ну и другие stpl можно поменять)
Code: Select all
server {
listen %ip%:%proxy_ssl_port% ssl spdy;
server_name %domain_idn% %alias_idn%;
ssl on;
ssl_certificate %ssl_pem%;
ssl_certificate_key %ssl_key%;
resolver 127.0.0.1;
ssl_stapling on;
ssl_session_timeout 24h;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers kEECDH+AES128:kEECDH:kEDH:-3DES:kRSA+AES128:kEDH+3DES:DES-CBC3-SHA:!RC4:!aNULL:!eNULL:!MD5:!EXPORT:!LOW:!SEED:!CAMELLIA:!IDEA:!PSK:!SRP:!SSLv2;
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security "max-age=31536000;";
add_header Content-Security-Policy-Report-Only "default-src https:; script-src https: 'unsafe-eval' 'unsafe-inline'; style-src https: 'unsafe-inline'; img-src https: data:; font-src https: data:; report-uri /csp-report";
error_log /var/log/%web_system%/domains/%domain%.error.log error;
location / {
proxy_pass https://%ip%:%web_ssl_port%;
location ~* ^.+\.(%proxy_extentions%)$ {
root %sdocroot%;
access_log /var/log/%web_system%/domains/%domain%.log combined;
access_log /var/log/%web_system%/domains/%domain%.bytes bytes;
expires max;
try_files $uri @fallback;
}
}
location /error/ {
alias %home%/%user%/web/%domain%/document_errors/;
}
location @fallback {
proxy_pass https://%ip%:%web_ssl_port%;
}
location ~ /\.ht {return 404;}
location ~ /\.svn/ {return 404;}
location ~ /\.git/ {return 404;}
location ~ /\.hg/ {return 404;}
location ~ /\.bzr/ {return 404;}
disable_symlinks if_not_owner from=%docroot%;
include %home%/%user%/conf/web/snginx.%domain%.conf*;
Re: Перепутанные SSL домены
В примере еще не видно редиректа. Кстати, а нам действительно нужно делать proxy_pass на https
или достаточно на httpproxy_pass https://%ip%:%web_ssl_port%;
proxy_pass http://%ip%:%web_port%;
Re: Перепутанные SSL домены
Все есть, смотрите прокруткой :)Deeryo wrote:В примере еще не видно редиректа. Кстати, а нам действительно нужно делать proxy_pass на https
Основная находка - это все-таки опции ssl
Re: Перепутанные SSL домены
Те же конфиги, что уже дважды в теме выше этой цитаты.skurudo wrote:Deeryo уже писал по этому поводу: viewtopic.php?f=29&t=6663#p19736 Тоже самое было и в ISP. А чтобы понимать, что сейчас сделано - нужно не гадать, а конфиги, которые трогались показывать или же откатить изменения и начать заново.
Так как с конфигами не помогло, откатил и начал заново. Если делать как здесь: viewtopic.php?f=29&t=6663#p19736 — это не помогло сначала. Прикрутил к дефолтному домену SSL, указал сертификаты, Веста их успешно съела. Ничего не меняется, везде по https открывается не тот сайт, который нужно, а к которому первому включал SSL. Даже не дефолтный домен. Может быть дефолтный домен стоит первым в каком-то конфиге http, а есть отдельный конфиг с отдельным порядком сайтов на https? Когда стал проверять эту идею, оказалось, что действительно в /etc/httpd/conf.d/vesta.conf, /etc/nginx/conf.d/vesta.conf порядок нужно проверять дважды для httpd.conf и shttpd. Теперь .htaccess срабатывает.
Проблема теперь только в том, что сервер сначала выдает ошибку о несоответствии сертификата, а уже затем перенаправляет с https на http. Но здесь даже не знаю, возможно ли это вообще исправить, не получая сертификаты на все домены.