Назад | Перейти на главную страницу

Appengine app.yaml HTTPS-перенаправление с безопасным флагом не работает

Мое приложение развернуто в Google AppEngine и мой DNS находится в GoDaddy.

Мой app.yaml такой:

handlers:
  - url: /.*
    http_headers:
      X-Forwarded-Proto: https
    script: auto
    secure: always
    redirect_http_response_code: 301
  - url: /
    http_headers:
      X-Forwarded-Proto: https
    static_files: build/index.html
    secure: always
    redirect_http_response_code: 301
    upload: build/index.html
  - url: /(.*)$
    http_headers:
      X-Forwarded-Proto: https
    static_files: build/\1
    secure: always
    redirect_http_response_code: 301
    upload: build/(.*)

Но когда я проверяю URL своего приложения

https: // [идентификатор-проекта] .appspot.com показывает безопасный сайт, но http: // [идентификатор-проекта] .appspot.com не

Как сделать переадресацию http на https? Есть ли у меня правильные изменения в app.yaml. Или есть что-то сделать со стороны DNS GoDaddy?

Кроме того, когда я ввожу свой домен в URL-адрес, например https: // [домен] .com он попадает на защищенный сайт, но затем я печатаю http: // [домен] .com это должно быть 'Не является безопасным' сайт

В документации есть две ссылки на файл app.yaml, по одной для каждой среды: стандарт и сгибать. Похоже, что secure ключевое слово появляется только в стандартной среде, его просто нет во флексе.

Есть два пути решения этой проблемы. Первый - переход на стандартную среду. Если это не соответствует вашим потребностям, вам следует самостоятельно реализовать перенаправление из кода вашего приложения. Это несложно, но я считаю, что это лишняя работа.