Будем получать валидные https сертификаты по мотивам репозитария, вики и бага.
Не повторяйте моих ошибок и сразу же ставьте новый snapshot если видите в консоли `Error loading shared library libmbedcrypto.so.1: No such file or directory (needed by /usr/bin/curl)`
проблема в том, что когда делаем
на файлухе это будет иметь отражение в `/etc/config/acme` в следующем виде
а на вкладке http://nethead.lan/cgi-bin/luci/admin/services/uhttpd `General Settings`
вообще вот мой полный листинг `/etc/config/`
Зачем это вам
Cказ о том, как я мучился несколько часов и финальный рецепт как это все завести. Без обезболивающего прям не обойтись было.Не повторяйте моих ошибок и сразу же ставьте новый snapshot если видите в консоли `Error loading shared library libmbedcrypto.so.1: No such file or directory (needed by /usr/bin/curl)`
prerequisites
берем и ставим ;`opkg update ; opkg install ca-certificates uhttpd-mod-tls openssl-util socat`иногда работает
Вообще раньше было необходимо делать такmkdir /www/le_root/ curl https://raw.githubusercontent.com/Neilpang/acme.sh/master/acme.sh > acme.sh chmod a+x acme.sh ./acme.sh --install --accountemail "andmin@box.now.im" DOMAIN=box.now.io cd /root/.acme.sh ./acme.sh --issue -d $DOMAIN -w /www --debugи тогда в браузере должен возвращаться токен Letsencrypt по адресу `echo $DOMAIN/.well-known/acme-challenge/` и можно подкладывать новые сертификаты для веб-сервера
проблема в том, что когда делаем
uci set uhttpd.main.key="$(pwd)/$DOMAIN/$DOMAIN.key" uci set uhttpd.main.cert="$(pwd)/$DOMAIN/$DOMAIN.cert" uci commit uhttpd cat /etc/config/uhttpd /etc/init.d/uhttpd restartто uhttpd вызывается модуль px5g котрый заново перегенерит сертификаты. Ну то есть что выпускали мы их, что не выпускали - один хер, самоподписанные будут стоять.
стабильный workaround
ставим приложку и обновляем ееopkg install acme luci-app-acme curl https://raw.githubusercontent.com/Neilpang/acme.sh/master/acme.sh > /usr/lib/acme/acme.shпотом идем в веб-интерфейс http://nethead.lan/cgi-bin/luci/admin/services/acme правим раздел `Certificate config`
| key | value |
|---|---|
| Webroot directory | /www |
| Domain names | box.now.io |
на файлухе это будет иметь отражение в `/etc/config/acme` в следующем виде
config acme
option state_dir '/etc/acme'
option account_email 'andmin@box.now.im'
option debug '1'
config cert 'example'
option keylength '2048'
option update_uhttpd '1'
option enabled '1'
option webroot '/www'
list domains 'box.now.io'
option use_staging '0'
а на вкладке http://nethead.lan/cgi-bin/luci/admin/services/uhttpd `General Settings`
| key | value |
|---|---|
| HTTPS Certificate (DER Encoded) | /etc/acme/box.now.io/box.now.io.cer |
| HTTPS Private Key (DER Encoded) | /etc/acme/box.now.io/box.now.io.key |
вообще вот мой полный листинг `/etc/config/`
config uhttpd 'main'
list listen_http '0.0.0.0:80'
list listen_http '[::]:88'
list listen_https '0.0.0.0:443'
list listen_https '[::]:443'
option home '/www'
option rfc1918_filter '0'
option max_requests '3'
option max_connections '100'
option cgi_prefix '/cgi-bin'
option script_timeout '60'
option network_timeout '30'
option http_keepalive '20'
option tcp_keepalive '1'
option ubus_prefix '/ubus'
option redirect_https '0'
option key '/etc/acme/box.now.io/box.now.io.key'
option cert '/etc/acme/box.now.io/box.now.io.cer'