Подтвердить что ты не робот

Https только в движке Google

Сейчас я нахожусь в проекте движка Google. В моем приложении я должен разрешить только протокол 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?

4b9b3361

Ответ 1

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

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

Например:

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

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

Ответ 2

Если вы хотите придерживаться "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

Ответ 3

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

Ответ 4

Добавьте это в свой файл 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>