Skip to content

Commit 7aff6fb

Browse files
committed
fix(reverse proxy): switch default certificate for all domains (#1403)
1 parent 9fd6ca7 commit 7aff6fb

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

packages/ns-api/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
include $(TOPDIR)/rules.mk
77

88
PKG_NAME:=ns-api
9-
PKG_VERSION:=3.4.0
9+
PKG_VERSION:=3.4.1
1010
PKG_RELEASE:=1
1111

1212
PKG_BUILD_DIR:=$(BUILD_DIR)/ns-api-$(PKG_VERSION)

packages/ns-api/files/ns.reverseproxy

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -281,11 +281,22 @@ elif cmd == 'call':
281281
if data['name'] not in valid_certificates:
282282
raise ValidationError('name', 'invalid', data['name'])
283283

284+
old_ssl_certificate = e_uci.get("nginx", "_lan", "ssl_certificate")
285+
old_ssl_certificate_key = e_uci.get("nginx", "_lan", "ssl_certificate_key")
286+
284287
# set default certificate for _lan
285288
e_uci.set('nginx', '_lan', 'ssl_certificate', valid_certificates[data['name']]['cert_path'])
286289
e_uci.set('nginx', '_lan', 'ssl_certificate_key', valid_certificates[data['name']]['key_path'])
287290
e_uci.set('nginx', '_lan', 'uci_manage_ssl', 'custom')
288291

292+
for domain in e_uci.get('nginx', dtype=str, list=True):
293+
if e_uci.get('nginx', domain) != 'server':
294+
continue
295+
if e_uci.get('nginx', domain, 'ssl_certificate', default='') == old_ssl_certificate:
296+
e_uci.set('nginx', domain, 'ssl_certificate', valid_certificates[data['name']]['cert_path'])
297+
if e_uci.get('nginx', domain, 'ssl_certificate_key', default='') == old_ssl_certificate_key:
298+
e_uci.set('nginx', domain, 'ssl_certificate_key', valid_certificates[data['name']]['key_path'])
299+
289300
# submit changes
290301
e_uci.save('nginx')
291302

0 commit comments

Comments
 (0)