Сертификат от letsecnrypt

pnzdevelop

Member
Вот таким скриптом обновляю сертификат у haproxy и самого сервера
Code:
#!/bin/sh
SITE=domain.ru
PWDX=password
ALI=domain.ru

# move to the correct let's encrypt directory
cd /etc/letsencrypt/live/$SITE

# cat files to make combined .pem for haproxy
cat fullchain.pem privkey.pem > /etc/haproxy/certs/$SITE.pem

# reload haproxy
service haproxy reload

# Convert the private key and certificate to a PKCS12 file
openssl pkcs12 -export -in /etc/letsencrypt/live/$SITE/fullchain.pem -inkey /etc/letsencrypt/live/$SITE/privkey.pem -out /etc/letsencrypt/live/$SITE/pkcs.p12 -name $ALI -passout pass:$PWDX

# Remove the old certificate from keystore
keytool -keystore /usr/local/FlashphonerWebCallServer/conf/wss.jks -delete -alias $ALI -storepass $PWDX

# Import the new p12 file to keystore
keytool -importkeystore -deststorepass $PWDX -destkeypass $PWDX -destkeystore /usr/local/FlashphonerWebCallServer/conf/wss.jks -srckeystore /etc/letsencrypt/live/$SITE/pkcs.p12 -srcstoretype PKCS12 -srcstorepass $PWDX -alias $ALI

# Reset server
service webcallserver restart
В итоге haproxy обновляется. Зайти можно через 443 порт, а через 8443 пишет
Страница недоступна
Сайт domain.ru не отправил данных.

ERR_EMPTY_RESPONSE
или ERR_CONNECTION_REFUSED
 
Last edited:

pnzdevelop

Member
Вспомнил что импортировал тестовый сертификат через dashboard.xhtml -> Security -> Certificates
И там старый сертификат остался. Получается что "ручное" обновление не срабатывает... или что то ещё упускаю.

В хранилище сертификатов лежит единственный сертификат
root@**************:/usr/local/FlashphonerWebCallServer/conf# keytool -list -keystore /usr/local/FlashphonerWebCallServer/conf/wss.jks
Enter keystore password:

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 1 entry

domain.ru, 10.10.2017, PrivateKeyEntry,
Certificate fingerprint (SHA1): ******************************************
Перезапуск не помогает. И при "ручном" импорте через консоль, в dashboard.xhtml -> Security -> Certificates пишет как будто ничего нет. просит добавить сертификат.
 
Last edited:

Max

Administrator
Staff member
Ручное обновлениен должно работать.
Попробуйте импортировать файл fullchain.pem как сертификат и privkey.pem как ключ через Dashboard / Security / Certificates
После импорта можно посмотреть как были импортированы сертификаты:
Code:
keytool -v --list --keystore wss.jks
Можно также сбросить сертификаты до дефолтных по ссылке Reset.
Либо скачать последний билд сервера и взять из него файл wss.jks с дефолтными сертификатами.
 

Max

Administrator
Staff member
Перезапуск не помогает. И при "ручном" импорте через консоль, в dashboard.xhtml -> Security -> Certificates пишет как будто ничего нет. просит добавить сертификат.
Пришлите SSH доступ к серверу и админке, а также файлы fullchain.pem и privkey.pem. Попробуем добавить.
logs@flashphoner.com
 

pnzdevelop

Member
Можно также сбросить сертификаты до дефолтных по ссылке Reset.
Это сделал, теперь внутри 2 сертификата, один selfsigned, второй мой. Удалил selfsigned. Не помогло.

А вот вручную - в панели появились сертификаты, а сервер через порт 8443 не отвечает.

root@**************:~# keytool -list -keystore /usr/local/FlashphonerWebCallServer/conf/wss.jks
Enter keystore password:

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 3 entries

cn=let's encrypt authority x3,o=let's encrypt,c=us, 10.10.2017, trustedCertEntry,
Certificate fingerprint (SHA1): ******************************************
domain.ru, 10.10.2017, PrivateKeyEntry,
Certificate fingerprint (SHA1): ******************************************(Этот)
cn=domain.ru, 10.10.2017, trustedCertEntry,
Certificate fingerprint (SHA1): ******************************************(и этот одинаковы)

Пришлите SSH доступ к серверу и админке, а также файлы fullchain.pem и privkey.pem. Попробуем добавить.
logs@flashphoner.com
Отправил.
 
Last edited:

Max

Administrator
Staff member
У вас все правильно настроено и работает.
Порт 8443 используется для коннекта через вебсокет:
Code:
wss://domain.com:8443
Порт 8888 используется для коннекта через https:
Code:
https://domain.com:8888
 

pnzdevelop

Member
хм. ладно. просто для плеера использую
wss://domain.com:443
А когда по https захожу через 443, то это как бы он и есть) а 8888 - всё отлично. Тогда поправьте момент, когда через консоль сертификат устанавливается, что бы он в dashboard корректно отображался
 

Max

Administrator
Staff member
Если сертификат устанавливается вручную через SSH, то он не будет отображаться в Dashboard, т.к. в этом случае меняется только файл wss.jks, а во внутренней базе ничего не фиксируется. Чтобы его было видно в Dashboard, он должен быть установлен через Dashboard.
 

pnzdevelop

Member
Хм, а теоретически ведь можно через keytool забрать информацию из этого хранилища? Да и нагляднее будет. Что в хранилище есть вот такие то сертификаты, с такими то отпечатками, установлены через ssh.
 

Max

Administrator
Staff member
Да, теоретически и технически это сделать можно. Да, будет нагляднее.
Добавим в roadmap как улучшение.
 
Top