Страница 3 из 4

Re: Установка SSL на Open Server для внешеного доступа!!!!

Добавлено: 24 июл 2021, 17:13
SCSMDRU
SagePointer писал(а): 24 июл 2021, 11:11 Список вопросов и ответов, которые задаёт Win-ACME, и что следует выбирать для получения сертификатов для Apache/Nginx в OpenServer

В вашем конкретном случае вопросы и их порядок, а также цифры в номере ответа могут отличаться от указанных в инструкции, в зависимости от версии Win-Acme и других обстоятельств, потому смотрите не на сами цифры, а на примерный текст ответа и выбирайте подходящий, вводя нужную цифру, соответствующую вашему варианту ответа (цифры тоже привожу, но проверяйте их на соответствие нужному варианту ответа, т.к. могут быть перепутаны в других версиях программы, если туда добавлялись новые опции). C:\OSPanel\ и mydomain.ru в моём примере замените на свой путь установки OpenServer и имя домена в том виде, как оно у вас указано в папке domains - т.е. без www, если у вас без него, или с ним, если оно у вас с ним.

Please choose from the menu:
M: Create certificate (full options)

How shall we determine the domain(s) to include in the certificate?:
2: Manual input

Host:
mydomain.ru
(если у вас в настройках OpenServer прописано несколько других доменов для одного и того же сайта через раздел Алиасы - то вы можете перечислить их через запятую, добавив к основному имени домена, например "mydomain.ru, www.mydomain.ru, myalias.mydomain.ru" - но только при условии, что они у вас в настройках OpenServer указаны и браузер по ним открывает тот же сайт, иначе проверка застопорится на них и сертификат не сможет быть получен)

Suggest friendly name '[Manual] mydomain.ru', press <Enter> to accept or type alternative:
Соглашаемся с предоставленным именем и нажимаем Enter, ничего не вводя. Или можем по желанию указать другое имя, если это нам принципиально (на работу сертификата не влияет).

How would you like prove ownership for the domain(s)?:
1: [http-01] Save verification files on (network) path

Path to the root of the site that will handle authentication:
C:\OSPanel\domains\mydomain.ru
(Если папка с файлами домена расположена в другом месте, то указываем именно его)

Copy default web.config before validation? (y/n*)
no (этот файл относится к IIS, а у нас апач/nginx)

What kind of private key should be used for the certificate?:
2: RSA key
(или можем выбрать Elliptic Curve key, если не нужна поддержка древних браузеров и хочется более современной криптографии на эллиптических кривых, может работать не везде)

How would you like to store the certificate?:
2: PEM encoded files (Apache, nginx, etc.)

File path:
C:\OSPanel\userdata\config\cert_files
(вы можете выбрать свой путь для хранилища сертификатов, но коли в OpenServer уже есть для них папка cert_files - логичнее хранить там же, да и проще конфиги редактировать).

Password to set for the private key .pem file. Choose from the menu:
1. None

Would you like to store it in another way too?:
5: No (additional) store steps
(этот шаг ничем не отличается от позапрошлого шага своими вариантами выбора, потому нужно быть осторожным и не выбрать случайно снова вариант 2, ибо нам не нужно сохранять несколько копий ключей и сертификатов)

Which installation step should run first?:
4: No (additional) installation steps

Enter email(s) for notifications about problems and abuse (comma-separated):
Вводим наш е-мейл, на который будем получать уведомления от Let's Encrypt. Можно использовать ящик для спама, чтобы не палить основной.

Terms of service: Open in default application?
no (если знаем английский на уровне юридических документов, можем выбрать yes и ознакомиться с соглашением)

Do you agree with the terms?
yes (подписываемся не глядя)

Do you want to specify the user the task will run as?
no (но, если хотим, можем указать юзера, под которым будет выполняться автопродление сертификата)

После этого проверяем C:\OSPanel\userdata\config\cert_files, там должны дополнительно появиться 4 файла вида: mydomain.ru-chain.pem, mydomain.ru-chain-only.pem, mydomain.ru-crt.pem, mydomain.ru-key.pem.

Далее, нам нужно прописать сертификаты в файл конфигурации нашего домена. В зависимости от того, что у нас, Apache или Nginx, или они в связке - берём нужный файл конфигурации из папки C:\OSPanel\userdata\config, копируем его в папку C:\OSPanel\domains\mydomain.ru, и редактируем тот экземпляр, что лежит в папке нашего домена. Вот таблица, какой файл брать для какого HTTP-сервера, и как именно прописывать пути к сертификатам (заменять переменные вида %переменная% в файлах конфига не нужно, OpenServer сам их будет подставлять при запуске).
Не забываем, что для каждой версии Apache и Nginx свой конфиг, потому выбираем тот, что соответсвует нашей версии.

Apache:
Apache_XXXX-PHP_XXXX_vhost.conf
    SSLCertificateChainFile  "%sprogdir%/userdata/config/cert_files/%host%-chain-only.pem"
    SSLCertificateFile       "%sprogdir%/userdata/config/cert_files/%host%-crt.pem"
    SSLCertificateKeyFile    "%sprogdir%/userdata/config/cert_files/%host%-key.pem"
Nginx или Apache+Nginx:
Nginx_XXXX_vhost.conf или Apache_XXXX-PHP_XXXX+Nginx_XXXX_vhostn.conf
    ssl_certificate           '%sprogdir%/userdata/config/cert_files/%host%-chain.pem';
    ssl_certificate_key       '%sprogdir%/userdata/config/cert_files/%host%-key.pem';
Так как мы в этих конфигурационных строках нигде не указывали имя домена вручную, а использовали переменные - нам не обязательно впоследствии каждый раз редактировать эти конфиги для новых доменов, достаточно скопировать их из папки нашего старого домена в новый (но строго после этапа получения сертификата для него и проверки наличия в cert_files, а то конфиг будет указывать на ещё не созданные файлы сертификатов - и сервер попросту не запустится).

P.S. Если кто-то оформит это в виде красивой инструкции с картинкаме, буду рад)
Сделал всё строго по инструкции, Но OpenServer значок горит красным флагом пробовал перезапускать успехом не увенчалось

Re: Установка SSL на Open Server для внешеного доступа!!!!

Добавлено: 24 июл 2021, 17:23
SCSMDRU
Это после того как файл config переместил и редактировал его как написано для Apache
SSLCertificateChainFile "%sprogdir%/userdata/config/cert_files/%host%-chain-only.pem"
SSLCertificateFile "%sprogdir%/userdata/config/cert_files/%host%-crt.pem"
SSLCertificateKeyFile "%sprogdir%/userdata/config/cert_files/%host%-key.pem"
Нашёл строки SSL и заменил их на те что указаны у Вас.
и всё.ничего не работает, вернул в исходное состояние всё снова заработало, но ssl не прикрутились

Re: Установка SSL на Open Server для внешеного доступа!!!!

Добавлено: 24 июл 2021, 17:27
SagePointer
SCSMDRU писал(а): 24 июл 2021, 17:23 Это после того как файл config переместил и редактировал его как написано для Apache
SSLCertificateChainFile "%sprogdir%/userdata/config/cert_files/%host%-chain-only.pem"
SSLCertificateFile "%sprogdir%/userdata/config/cert_files/%host%-crt.pem"
SSLCertificateKeyFile "%sprogdir%/userdata/config/cert_files/%host%-key.pem"
Нашёл строки SSL и заменил их на те что указаны у Вас.
и всё.ничего не работает, вернул в исходное состояние всё снова заработало, но ssl не прикрутились
Пропиши тогда абсолютные пути и дважды проверь их на существование

Re: Установка SSL на Open Server для внешеного доступа!!!!

Добавлено: 24 июл 2021, 18:17
SCSMDRU
Настройки переделал прописал и всё заработало.
НО ЕСТЬ БОЛЬШОЕ НО.
не могу решить с ридеректом.
по ссылке захожу scsmd.ru он открывается но не защищённый.
если вводить https://scsmd.ru то заходит защищённый.
пробовал менять htaccess успехом нен увенчалось.
с компьютера получается зайти https://scsmd.ru а с телефона никак.
с телефона без защищёнки могу зайти scsmd.ru Имею ввиду интернет через телефон

Re: Установка SSL на Open Server для внешеного доступа!!!!

Добавлено: 24 июл 2021, 18:36
SagePointer
SCSMDRU писал(а): 24 июл 2021, 18:17 Настройки переделал прописал и всё заработало.
НО ЕСТЬ БОЛЬШОЕ НО.
не могу решить с ридеректом.
по ссылке захожу scsmd.ru он открывается но не защищённый.
если вводить https://scsmd.ru то заходит защищённый.
пробовал менять htaccess успехом нен увенчалось.
с компьютера получается зайти https://scsmd.ru а с телефона никак.
с телефона без защищёнки могу зайти scsmd.ru Имею ввиду интернет через телефон
Ну инструкций, как настроить редирект с HTTP на HTTPS, в интернете масса. Хотя учитывая обилие неполных способов, где теряются параметры или флаги, порекомендую в .htaccess вот так (добавить наверх):
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,QSA,L]
Можно ещё через конфиг, если такой вариант больше нравится, чем первый, заменить верхнюю секцию VirtualHost на:
<VirtualHost *:%httpport%>
    ServerName      "%host%"
    ServerAlias     "%host%" %aliases%
    Redirect 301 / https://%host%/
</VirtualHost>
И дополнительно в конфиге раскомментировать это:
Header         always set Strict-Transport-Security "max-age=94608000"

Re: Установка SSL на Open Server для внешеного доступа!!!!

Добавлено: 24 июл 2021, 19:06
SCSMDRU
Просто не могу разобрать момент такой что почему захожу с телефона то не могу открыть через https://scsmd.ru

Re: Установка SSL на Open Server для внешеного доступа!!!!

Добавлено: 24 июл 2021, 19:08
SCSMDRU
И даже вводя scsmd.ru я разве не должен перейти на http://scsmd.ru???

Re: Установка SSL на Open Server для внешеного доступа!!!!

Добавлено: 24 июл 2021, 19:31
SagePointer
SCSMDRU писал(а): 24 июл 2021, 19:06 Просто не могу разобрать момент такой что почему захожу с телефона то не могу открыть через https://scsmd.ru
Самое банальное - порты не проброшены, брандмауэр блокирует, или IP-адрес сервера резольвится не туда. Ну либо сервер прослушивает не 0.0.0.0. Нужно 80 и 443 порты пробрасывать.

Re: Установка SSL на Open Server для внешеного доступа!!!!

Добавлено: 24 июл 2021, 19:38
SCSMDRU
Из вне не могу зайти теперь вообще на сайт.
хоть какие ввожу манипуляции с доменным именем хоть www хоть hhtp хоть https и даже без него всё равное не выходит на сайт.

Re: Установка SSL на Open Server для внешеного доступа!!!!

Добавлено: 24 июл 2021, 19:39
SCSMDRU
SagePointer писал(а): 24 июл 2021, 19:31
SCSMDRU писал(а): 24 июл 2021, 19:06 Просто не могу разобрать момент такой что почему захожу с телефона то не могу открыть через https://scsmd.ru
Самое банальное - порты не проброшены, брандмауэр блокирует, или IP-адрес сервера резольвится не туда. Ну либо сервер прослушивает не 0.0.0.0. Нужно 80 и 443 порты пробрасывать.
С этим всё нормально порты открыл.
Всё решилось, тупанул 443 порт то не открыл.
Респект тебе Дружище!!!!!
Прям выручил.
С меня должнок.
Буду делать мануал.