2016-08-06 3 views
0

У меня есть приложение webapp2 WSGI, которое работает на App Engine. Как настроить маршруты с помощью схемы HTTPS при запуске приложения, но если он запущен в среде разработки, он должен использовать схему HTTP?Как настроить маршруты webapp2 для запуска с использованием схемы HTTPS в производстве, но не в разработке?

EDIT: Как было предложено, я добавляю ссылку, которая указывает схемы webapp2 маршрутизации

http://webapp2.readthedocs.io/en/latest/guide/routing.html#restricting-uri-schemes

+0

Вы хотите, чтобы https был обязательным в производстве? –

+0

Для некоторых URL-адресов да – sshntt

ответ

1

Вы можете просто включить HTTPS в вашем app.yaml приложения, как показано ниже:

- url: .* 
    script: main.app 
    secure: always 

Затем вы получите https на appengine, но devapp_server все равно будет обслуживать все по адресу http

0

Вы могли бы просто сделать что-то вроде этого:

scheme = 'http' if os.environ.get('SERVER_SOFTWARE').startswith('Development') else 'https' 

webapp2.Route(..., schemes=[scheme]) 
+0

Это не тот случай, когда приложение делает запрос самому себе. Если я задал схему как https, приложение вернет 404 в среду разработки. Мне нужно вручную удалить схему для URL-адреса, а затем не забудьте вернуть ее, прежде чем развертывать ее для производства. – sshntt

+0

Вы имеете в виду эти схемы? http://webapp2.readthedocs.io/en/latest/guide/routing.html#restricting-uri-schemes –

+0

да, я имею в виду их – sshntt

Смежные вопросы