Как я могу получить доступ к переменным среды, установленным wfastcgi, из отдельного файла настроек секретов

Я следовал этому руководству, чтобы обслуживать приложение Flask от IIS:

https://medium.com/@bilalbayasut/deploying-python-web-app-flask-in-windows-server-iis-using-fastcgi-6c1873ae0ad8

Мой исходный код в настоящее время выглядит следующим образом:

MyApp.py:

from flask import Flask
import os
app = Flask(__name__)

@app.route("/")
def hello():

    return "PYTHONPATH: {0}".format(os.getenv('PYTHONPATH'))

if __name__ == "__main__":
    app.run()

И мой web.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appSettings file='C:\app_secrets\secrets.config' >
        <add key="PYTHONPATH" value="C:\inetpub\wwwroot\MyApp" />
        <add key="WSGI_HANDLER" value="MyApp.app" />
    </appSettings>
</configuration>

Я следую совету многих мест в Интернете, чтобы заполнить секреты, имея отдельный файл appSettings вне исходного кода и ссылаясь на него в web.config, поэтому C:\app_secrets\secrets.config выглядит так этот:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appSettings>
        <add key="SECRETTHING" value="THING" />
    </appSettings>
</configuration>

Я обнаружил, что хотя web.config <add key=... биты работают, как я ожидаю, и я могу получить к ним доступ в MyApp.py с помощью os.getenv() то же самое не относится к ключам, добавленным в secrets.config; изменение линии return "PYTHONPATH: {0}".format(os.getenv('PYTHONPATH')) в return "PYTHONPATH: {0}".format(os.getenv('SECRETTHING')) возвращает "Нет", а не "ВЕЩЬ".

Почему я не могу получить доступ к этим envars?

0 ответов

Другие вопросы по тегам