В Почтальоне я настраиваю переменные среды в AWS и отправляю соединение на сервер nginx. Он сопоставляется через API и создает файл конфигурации.
На этом сервере место назначения -
"/ abc /": {"proxy_pass": "http://example.org"," host ":" abc ",
}
Но мне нужно вот так" / abc / ": {set $backend "http://example.org"" proxy_pass ": $ backend," host ":" abc ",
}
Как написать скрипт Python для этого, чтобы установить переменнуюна URL, а затем назначьте proxy_pass
Мой код
for dest in config["destinations"]:
for loc,loc_details in dest.items():
print(loc_details)
host = loc_details["host"]
proxy_pass = loc_details["proxy_pass"]
if "proxy_ssl_name" not in loc_details:
loc_details["proxy_ssl_name"] = host
loc_details["proxy_set_header"] = [{"Host": host}]
# check for basic auth setting
if "basic" in loc_details:
loc_details["proxy_set_header"].append({"Authorization": "\"Basic " + loc_details["basic"] + "\""})
# check for proxy_ssl_verify in each destination location
if "proxy_ssl_verify" in loc_details:
client_cert = loc_details["certificate"]
loc_details["proxy_ssl_certificate"] = "/etc/nginx/certs/client/" + client_cert + ".pem"
loc_details["proxy_ssl_certificate_key"] = "/etc/nginx/certs/client/" + client_cert + "-key.pem"
для этого я добавил еще один, если условие
if "proxy_pass" in loc_details:
set $backend proxy_pass
loc_details["proxy_pass"] = $backend
Это будет работать или какчтобы достичь этого
Спасибо