Skip to content

Commit 0460d22

Browse files
authored
fix(reverse proxy): switch default certificate for all domains (#1403)
1 parent 43d54cd commit 0460d22

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

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)