https только в Google App Engine - PullRequest
       46

https только в Google App Engine

31 голосов
/ 20 марта 2011

Сейчас я работаю над проектом Google App Engine. В моем приложении я должен разрешить только протокол https. И я должен ограничить другие протоколы. Это должно разрешить только https. Я добавил следующий код в web.xml.

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Protected Area</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

Но после развертывания он работает по обоим протоколам (http и https). Как ограничить http?

Ответы [ 5 ]

51 голосов
/ 11 июня 2011

Можно настроить отдельные обработчики на использование HTTPS в файле app.yaml в папке WEB-INF, как описано здесь: Настройка приложения Java с использованием app.yaml - Google App Engine .

Вам просто нужно добавить эти два слова в файл app.yaml под соответствующей записью url:
secure: always

Например:

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

Тогда, если пользователь попытается получить доступ к URL с помощью HTTP, он будет автоматически перенаправлен на HTTPS. Довольно круто.

14 голосов
/ 16 октября 2014

Если вы хотите придерживаться «web.xml», а не использовать опцию «app.yaml» (которая перезапишет ваши файлы web.xml & appengine-web.xml во время развертывания), вы можете добавить:

<security-constraint>
    <web-resource-collection>
        <web-resource-name>everything</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

Ссылка: https://cloud.google.com/appengine/docs/java/config/webxml#Security_and_Authentication

4 голосов
/ 20 марта 2011

Вы используете свой собственный домен?В настоящее время GAE поддерживает SSL для * .appspot.com доменов только .В течение некоторого времени они обещали поддержку SSL для доменов, не относящихся к appspot, и мы все ждем новостей на этом фронте.

1 голос
/ 11 октября 2018

Это для будущих людей !!!

  1. В java добавление кода ниже в мой web.xml файл работал для меня

    <security-constraint>
       <web-resource-collection>
          <web-resource-name>HTTPS redirect</web-resource-name>
          <url-pattern>/*</url-pattern>
       </web-resource-collection>
       <user-data-constraint>
          <transport-guarantee>CONFIDENTIAL</transport-guarantee>
       </user-data-constraint>
    </security-constraint>
    
  2. Для другихдобавить проект secure: always под всеми URL в app.yaml файле

0 голосов
/ 03 мая 2017

Добавьте это в ваш файл web.xml

<security-constraint>
        <web-resource-collection>
            <web-resource-name>all</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <user-data-constraint>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
    </security-constraint>
...