Инструкция: VestaCP и HTTPS (SSL) от CloudFlare Topic is solved

Вопросы по работе Веб сервера
Apache + Nginx, Nginx + PHP5-FPM
LAlf
Posts: 8
Joined: Sat Feb 04, 2017 11:02 pm

Инструкция: VestaCP и HTTPS (SSL) от CloudFlare  Topic is solved

Postby LAlf » Sat Feb 04, 2017 11:51 pm

Когда первый раз ставил весту - дико замучился гуглить и искать как правильно прикрутить CloudFlare. Поэтому решил заполнить этот пробел, чтобы людям не бегать как мне по форуму и не искать инфу по разным топикам.


0. Нужный домен УЖЕ должен быть добавлен в CloudFlare (у регистратора должны быть прописаны выданные CloudFlare неймсервера NS и домен должен пройти делегацию) + в CloudFlare в разделе DNS УЖЕ должны быть A-записи, указывающие на сервер с Vesta.

1. Добавляем домен в весте, НЕ ставим галочку напротив "SSL Support" в "ADVANCED OPTIONS" (вывалится ошибка в случае если вы не правильно заполните поля - будет что-то не так, не помню что - но что-то криво активируется, я переставлял систему и весту из-за этого в первый раз - у меня там как-то по-особенному галочки были выбраны что ли).

2. Заходим в редактирование домена ( https://ip_сервера:8083/edit/web/?domain=доменное_имя ), тыкаем "SSL Support" и видим 3 поля для заполнения:
- SSL Certificate
- SSL Key
- SSL Certificate Authority / Intermediate (optional)

3. Заходим в CloudFlare в раздел Crypto ( https://www.cloudflare.com/a/crypto/доменное_имя ), далее блок "Origin Certificates" и нажимаем "Create Certificate", там ничего менять не надо, но на всякий случай укажу что там пишется (вдруг со временем они что-то поменяют):
- Выбрать: "Let Cloudflare generate a private key and a CSR"
- Private key type: RSA
- List the hostnames: *.доменное_имя, доменное_имя
- Certificate Validity: 15 years

4. В CloudFlare нажимаете "Next" и получаете сгенерированные сертификаты. Выбираете "Key format: PEM (Default)" и копируйте сертификаты из CF в Vesta:
- "Origin Certificate" вставляете в поле "SSL Certificate"
- "Private key" вставляете в поле "SSL Key"
- Чтобы всё заработало - надо в VestaCP заполнить ещё 3е поле "SSL Certificate Authority", ключ туда НУЖНО взять вот отсюда (брать "CloudFlare Origin CA — RSA Root") - именно его тут во всех топиках дают, но без ссылок на первоисточники.

5. В панели весты в настройках домена нажать Save. НЕ должно вывалиться НИКАКИХ ошибок. И потом если зайти снова на страницу редактирования, то под всеми заполненными полями будет написано:
Image

6. В настройках домена в КлаудФларе в разделе Crypto в блоке "SSL" нужно выбрать что угодно КРОМЕ "OFF".

7. Всё. Ваш сайт должен открываться по протоколу https. (Если нет - проверяйте в https://www.ssllabs.com/ssltest/ с очисткой кеша (там есть ссылка отдельная после проверки), если чекали ранее)

----------------------------------------------------------------------------------------

А теперь после такой полезной инструкции, где всё собрано в одно место - у меня есть вопрос. Который тоже другим будет полезен в рамках этого разговора.

Как сделать, чтобы на одной VPS с одним IP с использованием VestaCP, можно было на нескольких доменах использовать HTTPS(SSL) от CF?

В данный момент у меня такая ситуация. Неделю назад взял минимальный VPS на DigitalOcean, поставил туда Ubuntu 16.04, сделал update&upgrade, поставил весту (последнюю) следующей командой:

Code: Select all

curl -O http://vestacp.com/pub/vst-install.sh
bash vst-install.sh --nginx yes --phpfpm yes --apache no --vsftpd yes --proftpd no --exim no --dovecot no --spamassassin no --clamav no --named no --iptables no --fail2ban no --mysql no --postgresql no --remi no --quota no --hostname pechenka --email email@domain.tld --force


Добавил туда домен с SSL от CF. Сейчас потребовалось добавить второй домен с SSL, но после выполнения всех вышеприведенных инструкций я получаю (инфа о сертификате появляется при клике на NET::ERR_CERT_AUTHORITY_INVALID):
Image

Пробовал ребутить nginx, думал что-то не подцепилось - бесполезно.

Нагуглил, что это распространенная ошибка и она из-за того, что на один IP я пытаюсь привязать несколько SSL сертификатов (бред какой-то). Вот тут советуют поменять конфиги в nginx, но по сути - то, что там написано и так уже прописано в:

Code: Select all

/home/admin/conf/web/snginx.conf


Но! Именно там оба домена прописаны и у них одинаковые IP ("listen").
Поэтому я не понимаю зачем создавать ещё один конфиг, где будет прописан для ip один сертификат (или там сразу для обоих доменов разве нужно писать?).

Где я всё таки накосячил? Или где-то в весте стоит какое-то ограничение для бОльшей безопасности?

PS: домен, к сожалению, не могу в открытую написать. Могу в личку скинуть, если есть уверенность, что это поможет делу.
PPS: добавил третий домен и... всё ок с ним, а во втором всё так же ошибка. Мда. Может в CF что-то не верно отметил?
Last edited by LAlf on Mon Feb 06, 2017 9:13 am, edited 2 times in total.

LAlf
Posts: 8
Joined: Sat Feb 04, 2017 11:02 pm

Re: VestaCP и HTTPS (SSL) от CloudFlare. Инструкция. Проблема со вторым доменом

Postby LAlf » Sun Feb 05, 2017 10:05 pm

Судя по тому, что я сегодня увидел - я сам ошибся и сделал косяк. Я несколько дней назад поменял NS сервера у второго домена, то есть перенес его от CloudFlare. И забыл. А письмо о смене NS и отключение домена в CF пришло только сейчас. Из-за этого скорее всего и была проблема с ним. Сейчас сменю обратно на CF и буду надеяться, что всё будет ок.

upd: всё стало ок. Так что инструкция выше - работающая на 100%.

skurudo
VestaCP Team
Posts: 7783
Joined: Fri Dec 26, 2014 2:23 pm
Location: Moscow
Contact:

Re: Инструкция: VestaCP и HTTPS (SSL) от CloudFlare

Postby skurudo » Thu Feb 09, 2017 9:08 am

Полезная тема, слегка изменил название темы и прикрепил.
-> DigitalOcean competition - please, support us
-> fix for phpmyadmin - nice and sweet now

SKYNET74
Posts: 22
Joined: Sat Sep 24, 2016 6:59 am

Re: Инструкция: VestaCP и HTTPS (SSL) от CloudFlare

Postby SKYNET74 » Tue Mar 07, 2017 2:05 am

Не обязательно брать сертификат от CF, можно самому в панеле сгенерировать самоподписанный, и CF его тоже съест.
Но вот вопрос, если сгенерировать его в CF и установить на сервер, будет ли CF ругаться, если кто то попытается подменить содержимое трафика между сервером и CF?
С самоподписным сертификатом естественно такого не будет, вот интересует будет ли при использовании их сертификата...

skurudo
VestaCP Team
Posts: 7783
Joined: Fri Dec 26, 2014 2:23 pm
Location: Moscow
Contact:

Re: Инструкция: VestaCP и HTTPS (SSL) от CloudFlare

Postby skurudo » Tue Mar 07, 2017 7:24 am

SKYNET74 wrote:Но вот вопрос, если сгенерировать его в CF и установить на сервер, будет ли CF ругаться, если кто то попытается подменить содержимое трафика между сервером и CF?


Если трафик будет идти через CF, то точно не будет.
А если нет, то скорее всего - будет ругаться.
-> DigitalOcean competition - please, support us
-> fix for phpmyadmin - nice and sweet now

SKYNET74
Posts: 22
Joined: Sat Sep 24, 2016 6:59 am

Re: Инструкция: VestaCP и HTTPS (SSL) от CloudFlare

Postby SKYNET74 » Tue Mar 07, 2017 9:59 am

skurudo wrote:
SKYNET74 wrote:Но вот вопрос, если сгенерировать его в CF и установить на сервер, будет ли CF ругаться, если кто то попытается подменить содержимое трафика между сервером и CF?


Если трафик будет идти через CF, то точно не будет.
А если нет, то скорее всего - будет ругаться.

А почему не будет?
По идее же есть все необходимое для проверки трафика между CF и сервером? Или они не считают человека по середине угрозой?

Какой метод всё таки верный, брать сертификат от них, или генерировать свой, если трафик всё равно через них гуляет?

skurudo
VestaCP Team
Posts: 7783
Joined: Fri Dec 26, 2014 2:23 pm
Location: Moscow
Contact:

Re: Инструкция: VestaCP и HTTPS (SSL) от CloudFlare

Postby skurudo » Tue Mar 07, 2017 10:06 am

А почему бы и нет? Я проверял какое-то время назад. Взял данные сертификата, что мне выдал CF и подключил, ошибок и ругани не было.

Как удобнее, имхо это не принципиально.
-> DigitalOcean competition - please, support us
-> fix for phpmyadmin - nice and sweet now

inertial21
Posts: 2
Joined: Tue Apr 04, 2017 5:16 pm

Re: Инструкция: VestaCP и HTTPS (SSL) от CloudFlare

Postby inertial21 » Tue Apr 04, 2017 5:18 pm

сделал все по инструкции, однако вываливается вот такая ошибка(может и ошибся где то) "Error 521 Ray ID: 34a5ed155a767612 • 2017-04-04 17:18:18 UTC
Web server is down". если открывать сайт по http, то все ок

skurudo
VestaCP Team
Posts: 7783
Joined: Fri Dec 26, 2014 2:23 pm
Location: Moscow
Contact:

Re: Инструкция: VestaCP и HTTPS (SSL) от CloudFlare

Postby skurudo » Wed Apr 05, 2017 6:57 am

На этот счет у CF есть описание и мануалъ

A 521 error occurs because the origin web server refused the connection from Cloudflare. This means we tried to connect to your origin on port 80 or 443 but received a 'connection refused' error.


https://support.cloudflare.com/hc/en-us ... er-is-down
-> DigitalOcean competition - please, support us
-> fix for phpmyadmin - nice and sweet now

inertial21
Posts: 2
Joined: Tue Apr 04, 2017 5:16 pm

Re: Инструкция: VestaCP и HTTPS (SSL) от CloudFlare

Postby inertial21 » Thu Apr 06, 2017 11:14 am

skurudo wrote:На этот счет у CF есть описание и мануалъ

A 521 error occurs because the origin web server refused the connection from Cloudflare. This means we tried to connect to your origin on port 80 or 443 but received a 'connection refused' error.


https://support.cloudflare.com/hc/en-us ... er-is-down

порты открыты, все сделано по мануалу, однако толка нет


Return to “Веб сервер”



Who is online

Users browsing this forum: No registered users and 1 guest