Конфигурация HTTPS в Jboss - PullRequest
       14

Конфигурация HTTPS в Jboss

2 голосов
/ 19 августа 2010

Я использую JBoss 4.2.И я хотел бы, чтобы определенный шаблон URL был посещен через HTTPS.Я использовал самосертифицированный файл хранилища ключей, и проблема в том, что после посещения URL-адреса HTTPS все другие URL-адреса на сайте проходят через HTTPS, в чем проблема?

обновлено: я обнаружил проблему.Я использовал относительный путь к ссылкам на ресурсы, поэтому после изменения URL-адреса на HTTPS все последующие ссылки запускаются с HTTPS, поэтому мне нужно использовать абсолютный путь на веб-страницах HTTPS?

Моя конфигурациякак это: в web.xml:

<security-constraint>
    <web-resource-collection>
        <web-resource-name>artists.jsp</web-resource-name>
        <url-pattern>/artists.*</url-pattern>
        <http-method>GET</http-method>
        <http-method>POST</http-method>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

в server.xml:

<Connector port="8443" 
   scheme="https"     
   secure="true"    
   clientAuth="false"  
   keystoreFile="${jboss.server.home.dir}/conf/server.keystore"  
   keystorePass="changeit"  
   sslProtocol = "TLS" /> 

1 Ответ

1 голос
/ 19 августа 2010

К сожалению, да, так как URL начинаются с протокола (http, https), вам нужны абсолютные пути для переключения между ними.

Моя рекомендация такова: написать статический метод, который форматирует ваши URL-адреса, как таковые, и ввести некоторое соглашение об именах, например, все страницы, начинающиеся с ig _sec, предназначены для использования с https.

Псевдокод (не тестируетсяпросто чтобы проиллюстрировать основную идею):

public static String fmtURL(String relpath) {
    String url = relparth.startsWith( "_sec" ) ? "https://":"http://";
    url += hostname;                        // from a configfile
    if ( relparth.startsWith( "_sec" ) {
        url += ":443";
    }
    url += relpath;
    return url;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...