Приложение GAE / GCP Flex Environment Flask продолжает перенаправлять HTTPS на HTTP - PullRequest
1 голос
/ 15 июня 2019

Я знаю, что на эту проблему GAE / Flask уже есть тонна ответов на SO вопросы, но никто не объяснил, что я наблюдаю.Когда мой веб-интерфейс обращается к приложению Flask по протоколу https, он продолжает перенаправляться на http, что не удается из-за правила HTTP/HTTPS Смешанное содержимое.

Вот вывод из Chrome Dev Tools:

Mixed Content: The page at 'https://storage.googleapis.com/staging-fubar/index.html#/?_k=flnjq1' was loaded over HTTPS, but requested an insecure resource 'http://staging-goomba-dot-bingbong.appspot.com/autocomplete/thingy/5'. This request has been blocked; the content must be served over HTTPS.

и вот вывод, когда я делаю Копирование -> Копировать как cURL в Dev Tools и выполняю неудачный запрос в моем терминале:

curl 'https://staging-goomba-dot-bingbong.appspot.com/autocomplete/target/thingy/5' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36' -H 'Referer: https://storage.googleapis.com/staging-fubar/index.html' -H 'Origin: https://storage.googleapis.com' -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjU0OGYzZjk4N2IxNzMxOWZlZDhjZDc2ODNmNTIyNWEyOTY0YzY5OWQiLCJ0eXAiOiJKV1QifQ.eyJNSkYiOnRydWUsImlzcyI6Imh0dHBzOi8vc2VjdXJldG9rZW4uZ29vZ2xlLmNvbS9tamYtZGVsaXZlcmFibGUiLCJhdWQiOiJtamYtZGVsaXZlcmFibGUiLCJhdXRoX3RpbWUiOjE1NjA1NDY3NzYsInVzZXJfaWQiOiJwZXRlckBvY2NhbXpyYXpvci5jb20iLCJzdWIiOiJwZXRlckBvY2NhbXpyYXpvci5jb20iLCJpYXQiOjE1NjA1NDY3NzYsImV4cCI6MTU2MDU1MDM3NiwiZmlyZWJhc2UiOnsiaWRlbnRpdGllcyI6e30sInNpZ25faW5fcHJvdmlkZXIiOiJjdXN0b20ifX0.E-pGxO_vrL1255Sm7C1YOL8T0gZr0H3fIfanNEewmJxQOFzw8HWZMhyc7dgnaITQsbv6HHuI7I3rvPqnpPS161BtzB8z_reYeScIZBtn6v3gJghs6C2__Hmuaht-PHVsMVqw98lSLRwtZ0-5xVf4bj2R9mzrvRDGxYjvypnL0SBU7NdUrVUGgJvV_E13f-IneSJ27XFcuVcH_jgpYU-HIOOD6mvbYGr79xCrQDMS1KDlO2o5Ux5uR0-7K-n6B5j63l9icwGCWt1BjLcrRigCDQdmrmuUfLHWXnvq1ZAQxCQ7lrIvtwAHCCEQkEjalzrH73GS-iggEoZjRU2NE4nlKw' --compressed
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>Redirecting...</title>
<h1>Redirecting...</h1>
<p>You should be redirected automatically to target URL: <a     href="http://staging-goomba-dot-bingbong.appspot.com/autocomplete/thingy/5">http://staging-goomba-dot-bingbong.appspot.com/autocomplete/thingy/5</a>.  If not click the link.%

Вот маршрут (ы) / конечная точка, к которой он прибывает:

@app.route('/autocomplete/<string:term>',
           defaults={"search_type": 'target', "type_str": None, "limit_count": 10},
           strict_slashes=False)
@app.route('/autocomplete/<string:term>/<int:limit_count>',
           defaults={"search_type": 'target', "type_str": None},
           strict_slashes=False)
@app.route('/autocomplete/<string:search_type>/<string:term>',
           defaults={"type_str": None, "limit_count": 10},
           strict_slashes=False)
@app.route('/autocomplete/<string:search_type>/<string:term>/<int:limit_count>',
           defaults={"type_str": None},
           strict_slashes=False)
@login_required
def autocomplete(search_type, term, type_str, limit_count):
...

Я проверил, что функция маршрута ничего не печатает .Работа на localhost работает нормально, возможно, потому что SSL не входит в игру.

Я пока что безуспешно пытался:

  • удаление http изopenapi.yaml schemes раздел
  • добавление SSLify
  • повторное развертывание в случае разовой проблемы развертывания

Предложения в видек тому, что вызывает это или как сузить это, будет очень цениться!

Пит

...