We are happy to announce that Vesta is back under active development as of 25 February 2024. We are working on v1 candidate and expect to engage more with the community over the coming months. We are committed to open source, and we encourage contributors to help us build the future of Vesta.
Инструкция: VestaCP и HTTPS (SSL) от CloudFlare
Инструкция: VestaCP и HTTPS (SSL) от CloudFlare
Когда первый раз ставил весту - дико замучился гуглить и искать как правильно прикрутить 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. НЕ должно вывалиться НИКАКИХ ошибок. И потом если зайти снова на страницу редактирования, то под всеми заполненными полями будет написано:
6. В настройках домена в КлаудФларе в разделе Crypto в блоке "SSL" нужно выбрать что угодно КРОМЕ "OFF".
7. Всё. Ваш сайт должен открываться по протоколу https. (Если нет - проверяйте в https://www.ssllabs.com/ssltest/ с очисткой кеша (там есть ссылка отдельная после проверки), если чекали ранее)
----------------------------------------------------------------------------------------
А теперь после такой полезной инструкции, где всё собрано в одно место - у меня есть вопрос. Который тоже другим будет полезен в рамках этого разговора.
Как сделать, чтобы на одной VPS с одним IP с использованием VestaCP, можно было на нескольких доменах использовать HTTPS(SSL) от CF?
В данный момент у меня такая ситуация. Неделю назад взял минимальный VPS на DigitalOcean, поставил туда Ubuntu 16.04, сделал update&upgrade, поставил весту (последнюю) следующей командой:
Добавил туда домен с SSL от CF. Сейчас потребовалось добавить второй домен с SSL, но после выполнения всех вышеприведенных инструкций я получаю (инфа о сертификате появляется при клике на NET::ERR_CERT_AUTHORITY_INVALID):
Пробовал ребутить nginx, думал что-то не подцепилось - бесполезно.
Нагуглил, что это распространенная ошибка и она из-за того, что на один IP я пытаюсь привязать несколько SSL сертификатов (бред какой-то). Вот тут советуют поменять конфиги в nginx, но по сути - то, что там написано и так уже прописано в:
Но! Именно там оба домена прописаны и у них одинаковые IP ("listen").
Поэтому я не понимаю зачем создавать ещё один конфиг, где будет прописан для ip один сертификат (или там сразу для обоих доменов разве нужно писать?).
Где я всё таки накосячил? Или где-то в весте стоит какое-то ограничение для бОльшей безопасности?
PS: домен, к сожалению, не могу в открытую написать. Могу в личку скинуть, если есть уверенность, что это поможет делу.
PPS: добавил третий домен и... всё ок с ним, а во втором всё так же ошибка. Мда. Может в CF что-то не верно отметил?
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. НЕ должно вывалиться НИКАКИХ ошибок. И потом если зайти снова на страницу редактирования, то под всеми заполненными полями будет написано:
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 protected] --force
Пробовал ребутить nginx, думал что-то не подцепилось - бесполезно.
Нагуглил, что это распространенная ошибка и она из-за того, что на один IP я пытаюсь привязать несколько SSL сертификатов (бред какой-то). Вот тут советуют поменять конфиги в nginx, но по сути - то, что там написано и так уже прописано в:
Code: Select all
/home/admin/conf/web/snginx.conf
Поэтому я не понимаю зачем создавать ещё один конфиг, где будет прописан для ip один сертификат (или там сразу для обоих доменов разве нужно писать?).
Где я всё таки накосячил? Или где-то в весте стоит какое-то ограничение для бОльшей безопасности?
PS: домен, к сожалению, не могу в открытую написать. Могу в личку скинуть, если есть уверенность, что это поможет делу.
PPS: добавил третий домен и... всё ок с ним, а во втором всё так же ошибка. Мда. Может в CF что-то не верно отметил?
Last edited by LAlf on Mon Feb 06, 2017 9:13 am, edited 2 times in total.
Re: VestaCP и HTTPS (SSL) от CloudFlare. Инструкция. Проблема со вторым доменом
Судя по тому, что я сегодня увидел - я сам ошибся и сделал косяк. Я несколько дней назад поменял NS сервера у второго домена, то есть перенес его от CloudFlare. И забыл. А письмо о смене NS и отключение домена в CF пришло только сейчас. Из-за этого скорее всего и была проблема с ним. Сейчас сменю обратно на CF и буду надеяться, что всё будет ок.
upd: всё стало ок. Так что инструкция выше - работающая на 100%.
upd: всё стало ок. Так что инструкция выше - работающая на 100%.
Re: Инструкция: VestaCP и HTTPS (SSL) от CloudFlare
Полезная тема, слегка изменил название темы и прикрепил.
Re: Инструкция: VestaCP и HTTPS (SSL) от CloudFlare
Не обязательно брать сертификат от CF, можно самому в панеле сгенерировать самоподписанный, и CF его тоже съест.
Но вот вопрос, если сгенерировать его в CF и установить на сервер, будет ли CF ругаться, если кто то попытается подменить содержимое трафика между сервером и CF?
С самоподписным сертификатом естественно такого не будет, вот интересует будет ли при использовании их сертификата...
Но вот вопрос, если сгенерировать его в CF и установить на сервер, будет ли CF ругаться, если кто то попытается подменить содержимое трафика между сервером и CF?
С самоподписным сертификатом естественно такого не будет, вот интересует будет ли при использовании их сертификата...
Re: Инструкция: VestaCP и HTTPS (SSL) от CloudFlare
Если трафик будет идти через CF, то точно не будет.SKYNET74 wrote:Но вот вопрос, если сгенерировать его в CF и установить на сервер, будет ли CF ругаться, если кто то попытается подменить содержимое трафика между сервером и CF?
А если нет, то скорее всего - будет ругаться.
Re: Инструкция: VestaCP и HTTPS (SSL) от CloudFlare
А почему не будет?skurudo wrote:Если трафик будет идти через CF, то точно не будет.SKYNET74 wrote:Но вот вопрос, если сгенерировать его в CF и установить на сервер, будет ли CF ругаться, если кто то попытается подменить содержимое трафика между сервером и CF?
А если нет, то скорее всего - будет ругаться.
По идее же есть все необходимое для проверки трафика между CF и сервером? Или они не считают человека по середине угрозой?
Какой метод всё таки верный, брать сертификат от них, или генерировать свой, если трафик всё равно через них гуляет?
Re: Инструкция: VestaCP и HTTPS (SSL) от CloudFlare
А почему бы и нет? Я проверял какое-то время назад. Взял данные сертификата, что мне выдал CF и подключил, ошибок и ругани не было.
Как удобнее, имхо это не принципиально.
Как удобнее, имхо это не принципиально.
-
- Posts: 2
- Joined: Tue Apr 04, 2017 5:16 pm
Re: Инструкция: VestaCP и HTTPS (SSL) от CloudFlare
сделал все по инструкции, однако вываливается вот такая ошибка(может и ошибся где то) "Error 521 Ray ID: 34a5ed155a767612 • 2017-04-04 17:18:18 UTC
Web server is down". если открывать сайт по http, то все ок
Web server is down". если открывать сайт по http, то все ок
Re: Инструкция: VestaCP и HTTPS (SSL) от CloudFlare
На этот счет у CF есть описание и мануалъ
https://support.cloudflare.com/hc/en-us ... er-is-downA 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.
-
- Posts: 2
- Joined: Tue Apr 04, 2017 5:16 pm
Re: Инструкция: VestaCP и HTTPS (SSL) от CloudFlare
порты открыты, все сделано по мануалу, однако толка нетskurudo wrote:На этот счет у CF есть описание и мануалъ
https://support.cloudflare.com/hc/en-us ... er-is-downA 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.