Будем получать валидные 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'