Vesta Control Panel - Forum

Community Forum

Skip to content

Advanced search
  • Quick links
    • Main site
    • Github repo
    • Google Search
  • FAQ
  • Login
  • Register
  • Board index Language specific forums Russian (Русский) Общие вопросы
  • Search

Два SSL для двух доменов на одном IP

Общие вопросы о панели управления Vesta
Post Reply
  • Print view
Advanced search
5 posts • Page 1 of 1
shpion4ik
Posts: 20
Joined: Fri Nov 01, 2013 1:11 pm

Два SSL для двух доменов на одном IP
  • Quote

Post by shpion4ik » Wed Dec 10, 2014 10:13 am

Реально ли для VESTA подключить два SSL сертификата для двух доменов находящихся на одном IP?
Читал что можно сделать с помощью SNI. Какие идеи?
Top

rez0n
Posts: 149
Joined: Fri Jan 25, 2013 8:04 am
Contact:
Contact rez0n
Website

Re: Два SSL для двух доменов на одном IP
  • Quote

Post by rez0n » Wed Dec 10, 2014 12:47 pm

Да вообще в целом для nginx - это не проблема.
Vesta по моему пока так не может. Вся суть в том, что apache не умеет 2 virtualhost на одном IP с разными SSL сертификатами, а nginx умеет.

Соответственно, в идеале, все что нам нужно это - добавить в апаче обычный VirtualHost, а в nginx хост с SSL и правильным проксированием.
Я сделал немного сложнее и в обход панели.

1. Добавил в apache Listen с новым портом

Code: Select all

/etc/httpd/conf.d/82.196.1.21.conf
Listen 127.0.0.1:8443
2. В /home/admin/conf/web/shttpd.conf к уже существующему <ip>:8443 хосту (корневой домен со своим сертификатом) - добавил

Code: Select all

<VirtualHost 127.0.0.1:8443>

    ServerName cloud.quaded.com
    ServerAlias www.cloud.quaded.com
    ServerAdmin [email protected]
    DocumentRoot /home/admin/web/cloud.quaded.com/public_html
    ScriptAlias /cgi-bin/ /home/admin/web/cloud.quaded.com/cgi-bin/
    Alias /vstats/ /home/admin/web/cloud.quaded.com/stats/
    Alias /error/ /home/admin/web/cloud.quaded.com/document_errors/
    SuexecUserGroup admin admin
    CustomLog /var/log/httpd/domains/cloud.quaded.com.bytes bytes
    CustomLog /var/log/httpd/domains/cloud.quaded.com.log combined
    ErrorLog /var/log/httpd/domains/cloud.quaded.com.error.log
    <Directory /home/admin/web/cloud.quaded.com/public_html>
        AllowOverride All
        SSLRequireSSL
        Options +Includes -Indexes +ExecCGI
    </Directory>
    <Directory /home/admin/web/cloud.quaded.com/stats>
        AllowOverride All
    </Directory>
    SSLEngine on
    SSLVerifyClient none
    SSLCertificateFile /home/admin/conf/web/ssl.cloud.quaded.com.crt
    SSLCertificateKeyFile /home/admin/conf/web/ssl.cloud.quaded.com.key
    SSLCertificateChainFile /home/admin/conf/web/ssl.cloud.quaded.com.ca

    <IfModule mod_ruid2.c>
        RMode config
        RUidGid admin admin
        RGroups apache
    </IfModule>
    <IfModule itk.c>
        AssignUserID admin admin
    </IfModule>

    Include /home/admin/conf/web/shttpd.cloud.quaded.com.conf*

</VirtualHost>
3. В /home/admin/conf/web/snginx.conf добавил vhost с заданными ssl сертификатами и проксированием не стандартного <ip>:8443 apache vhosta, а новосозданного 127.0.0.1:8443

Code: Select all

server {
    listen	443;
    server_name cloud.quaded.com;
    ssl         on;
    ssl_certificate	 /home/admin/conf/web/ssl.cloud.quaded.com.pem;
    ssl_certificate_key  /home/admin/conf/web/ssl.cloud.quaded.com.key;
    error_log  /var/log/httpd/domains/cloud.quaded.com.error.log error;

    location / {
        proxy_pass	https://127.0.0.1:8443;
        location ~* ^.+\.(jpg|jpeg|gif|png|ico|svg|css|zip|tgz|gz|rar|bz2|exe|pdf|doc|xls|ppt|txt|odt|ods|odp|odf|tar|bmp|rtf|js|mp3|avi|mpeg|flv|html|htm)$ {
            root           /home/admin/web/cloud.quaded.com/public_html;
            access_log     /var/log/httpd/domains/cloud.quaded.com.log combined;
            access_log     /var/log/httpd/domains/cloud.quaded.com.bytes bytes;
            expires        max;
            try_files	   $uri @fallback;
        }
    }

    location /error/ {
        alias   /home/admin/web/cloud.quaded.com/document_errors/;
    }

    location @fallback {
        proxy_pass	https://127.0.0.1:8443;
    }

    location ~ /\.ht    {return 404;}
    location ~ /\.svn/  {return 404;}
    location ~ /\.git/  {return 404;}
    location ~ /\.hg/   {return 404;}
    location ~ /\.bzr/  {return 404;}

}
Реализация довольно кривая и сложная, я создал и в apache - ssl хост, якобы на втором IP, и в nginx. Хотя в идеале - Vhost apache должен остаться на стандартном порту (без SSL), а nginx в силу своей мощи и умения держать на одном IP/порту несколько разных сертификатов будет распедаливать все.
Я думаю если немного поразкинуть мозгом - можно подкрутить стандартные templates конфигов апача и делать все это сразу через панель.
Top

shpion4ik
Posts: 20
Joined: Fri Nov 01, 2013 1:11 pm

Re: Два SSL для двух доменов на одном IP
  • Quote

Post by shpion4ik » Wed Dec 10, 2014 3:19 pm

Спасибо огромное за столь развернутый ответ!
Top

demian
Posts: 543
Joined: Thu May 16, 2013 5:19 am

Re: Два SSL для двух доменов на одном IP
  • Quote

Post by demian » Fri Dec 12, 2014 7:07 am

то что индеец не может использовать два сертификата на одном порту это проблема модуля mod_ssl и openssl
обходится это легко, заменой модуля mod_ssl на mod_gnutls с соответствующей правкой конфига

http_ssl модуль nginx'а использует gnutls
Top

shpion4ik
Posts: 20
Joined: Fri Nov 01, 2013 1:11 pm

Re: Два SSL для двух доменов на одном IP
  • Quote

Post by shpion4ik » Fri Dec 12, 2014 3:17 pm

Решилось все очень просто. Во второй домен всунул свежевыданные конфиги SSL. Выбрал Nginx Template FORCE-HTTPS и все заработало.

Установка SSL force:
Install custom nginx template

cd /usr/local/vesta/data/templates/web
wget http://c.vestacp.com/0.9.8/rhel/force-h ... inx.tar.gz
tar -xzvf nginx.tar.gz
rm -f nginx.tar.gz
Top


Post Reply
  • Print view

5 posts • Page 1 of 1

Return to “Общие вопросы”



  • Board index
  • All times are UTC
  • Delete all board cookies
  • The team
Powered by phpBB® Forum Software © phpBB Limited
*Original Author: Brad Veryard
*Updated to 3.2 by MannixMD
 

 

cron

Login  •  Register

I forgot my password