Как установить proxy_pass в переменную $ backend на сервере из Json с помощью Python API - PullRequest
0 голосов
/ 20 марта 2019

В Почтальоне я настраиваю переменные среды в 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

Это будет работать или какчтобы достичь этого

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...