diff --git a/.version b/.version
index 23ae1b5..1020118 100644
--- a/.version
+++ b/.version
@@ -1 +1 @@
-2.9.6
+2.9.7
diff --git a/README.md b/README.md
index dd8a6c7..92e59f7 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
-
+
@@ -458,6 +458,18 @@ Special thanks to the following contributors:
Fuechslein
+
+
+
+ Amir Zarrinkafsh
+
+ |
+
+
+
+ gabbe
+
+ |
diff --git a/backend/internal/certificate.js b/backend/internal/certificate.js
index 96972fe..661950d 100644
--- a/backend/internal/certificate.js
+++ b/backend/internal/certificate.js
@@ -758,6 +758,7 @@ const internalCertificate = {
},
/**
+ * Request a certificate using the http challenge
* @param {Object} certificate the certificate row
* @returns {Promise}
*/
@@ -768,6 +769,7 @@ const internalCertificate = {
'--config "' + letsencryptConfig + '" ' +
'--cert-name "npm-' + certificate.id + '" ' +
'--agree-tos ' +
+ '--authenticator webroot ' +
'--email "' + certificate.meta.letsencrypt_email + '" ' +
'--preferred-challenges "dns,http" ' +
'--domains "' + certificate.domain_names.join(',') + '" ' +
diff --git a/backend/templates/_location.conf b/backend/templates/_location.conf
index 5a7a6ab..7d70700 100644
--- a/backend/templates/_location.conf
+++ b/backend/templates/_location.conf
@@ -1,10 +1,11 @@
location {{ path }} {
+ set $upstream {{ forward_scheme }}://{{ forward_host }}:{{ forward_port }}{{ forward_path }};
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Scheme $scheme;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
- proxy_pass {{ forward_scheme }}://{{ forward_host }}:{{ forward_port }}{{ forward_path }};
+ proxy_pass $upstream;
{% if access_list_id > 0 %}
{% if access_list.items.length > 0 %}
diff --git a/backend/templates/default.conf b/backend/templates/default.conf
index 7eef11f..5196f28 100644
--- a/backend/templates/default.conf
+++ b/backend/templates/default.conf
@@ -16,6 +16,8 @@ server {
error_log /data/logs/default-host_error.log warn;
{% include "_exploits.conf" %}
+ include conf.d/include/letsencrypt-acme-challenge.conf;
+
{%- if value == "404" %}
location / {
return 404;
diff --git a/backend/yarn.lock b/backend/yarn.lock
index 84180c2..71e6676 100644
--- a/backend/yarn.lock
+++ b/backend/yarn.lock
@@ -3351,9 +3351,9 @@ table@^5.2.3:
string-width "^3.0.0"
tar@^4, tar@^4.4.2:
- version "4.4.13"
- resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525"
- integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==
+ version "4.4.15"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.15.tgz#3caced4f39ebd46ddda4d6203d48493a919697f8"
+ integrity sha512-ItbufpujXkry7bHH9NpQyTXPbJ72iTlXgkBAYsAjDXk3Ds8t/3NfO5P4xZGy7u+sYuQUbimgzswX4uQIEeNVOA==
dependencies:
chownr "^1.1.1"
fs-minipass "^1.2.5"
diff --git a/docker/rootfs/etc/letsencrypt.ini b/docker/rootfs/etc/letsencrypt.ini
index 4949da0..ccb2f0b 100644
--- a/docker/rootfs/etc/letsencrypt.ini
+++ b/docker/rootfs/etc/letsencrypt.ini
@@ -1,6 +1,5 @@
text = True
non-interactive = True
-authenticator = webroot
webroot-path = /data/letsencrypt-acme-challenge
key-type = ecdsa
elliptic-curve = secp384r1
diff --git a/docker/rootfs/etc/nginx/conf.d/default.conf b/docker/rootfs/etc/nginx/conf.d/default.conf
index a763498..81d6ae4 100644
--- a/docker/rootfs/etc/nginx/conf.d/default.conf
+++ b/docker/rootfs/etc/nginx/conf.d/default.conf
@@ -9,9 +9,10 @@ server {
server_name localhost-nginx-proxy-manager;
access_log /data/logs/fallback_access.log standard;
- error_log /dev/null crit;
+ error_log /data/logs/fallback_error.log warn;
include conf.d/include/assets.conf;
include conf.d/include/block-exploits.conf;
+ include conf.d/include/letsencrypt-acme-challenge.conf;
location / {
index index.html;
diff --git a/docs/yarn.lock b/docs/yarn.lock
index df7550e..90394e1 100644
--- a/docs/yarn.lock
+++ b/docs/yarn.lock
@@ -6405,10 +6405,10 @@ minipass@^3.0.0, minipass@^3.1.1:
dependencies:
yallist "^4.0.0"
-minizlib@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.0.tgz#fd52c645301ef09a63a2c209697c294c6ce02cf3"
- integrity sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==
+minizlib@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931"
+ integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==
dependencies:
minipass "^3.0.0"
yallist "^4.0.0"
@@ -9156,14 +9156,14 @@ tapable@^1.0.0, tapable@^1.1.3:
integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
tar@^6.0.2:
- version "6.0.2"
- resolved "https://registry.yarnpkg.com/tar/-/tar-6.0.2.tgz#5df17813468a6264ff14f766886c622b84ae2f39"
- integrity sha512-Glo3jkRtPcvpDlAs/0+hozav78yoXKFr+c4wgw62NNMO3oo4AaJdCo21Uu7lcwr55h39W2XD1LMERc64wtbItg==
+ version "6.1.6"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.6.tgz#c23d797b0a1efe5d479b1490805c5443f3560c5d"
+ integrity sha512-oaWyu5dQbHaYcyZCTfyPpC+VmI62/OM2RTUYavTk1MDr1cwW5Boi3baeYQKiZbY2uSQJGr+iMOzb/JFxLrft+g==
dependencies:
chownr "^2.0.0"
fs-minipass "^2.0.0"
minipass "^3.0.0"
- minizlib "^2.1.0"
+ minizlib "^2.1.1"
mkdirp "^1.0.3"
yallist "^4.0.0"
diff --git a/global/certbot-dns-plugins.js b/global/certbot-dns-plugins.js
index 70f45ab..3caaf14 100644
--- a/global/certbot-dns-plugins.js
+++ b/global/certbot-dns-plugins.js
@@ -314,6 +314,16 @@ dns_linode_version = [|3|4]`,
full_plugin_name: 'dns-linode',
},
//####################################################//
+ loopia: {
+ display_name: 'Loopia',
+ package_name: 'certbot-dns-loopia',
+ package_version: '1.0.0',
+ dependencies: '',
+ credentials: `dns_loopia_user = user@loopiaapi
+dns_loopia_password = abcdef0123456789abcdef01234567abcdef0123`,
+ full_plugin_name: 'dns-loopia',
+ },
+ //####################################################//
luadns: {
display_name: 'LuaDNS',
package_name: 'certbot-dns-luadns',