2014-12-23 2 views
-1

Я использую Jboss 5.1 в Windows 64 бит. Я также развернул приложение на сервере. Приложение доступно через https, используя порт 443. Я не использую никаких интерфейсных веб-серверов.Перемещение портов от 80 до 443 в jboss 5.1 окна

Я хочу, чтобы URL-адрес http://example.com/context_root получить перенаправлены https://example.com/contextroot. Это означает, что перенаправление происходит из порта HTTP по умолчанию 80 по умолчанию. Https-порт 443.

Когда я ударил URL-адрес с помощью корневого контекста приложения, я получаю следующую ошибку: Невозможно отобразить страницу.

Я сделал изменения в server.xml файл слишком для порта повторного направления:

<!-- A HTTP/1.1 Connector on port 8080 --> 
    <Connector protocol="HTTP/1.1" port="80" address="${jboss.bind.address}" 
    connectionTimeout="20000" redirectPort="443" /> 

Может кто-то мне предложить оптимальное решение, пожалуйста?

ответ

0

Для редиректа на HTTPS вам нужно добавить в web.xml приложения следующие строки:

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>Restricted application</web-resource-name> 
     <url-pattern>/*</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> 

См: Specifying a Secure Connection

документация The HTTP Connector говорят:

redirect-port

If this Connector is supporting non-SSL requests, and a request is received for which a matching <security-constraint> requires SSL transport, Catalina will automatically redirect the request to the port number specified here.

+0

Я добавил этот раздел в web.xml приложения и перезапустил Jboss. Но я все равно получаю ту же ошибку, когда попадал в URL-адрес с контекстом приложения. –

+0

Я получаю следующие ошибки: Эта страница не может быть отображена • Убедитесь, что URL-адрес веб-адреса http: // правильный. • Ищите страницу со своей поисковой системой. • Обновите страницу за считанные минуты. где URL-имя относится к конкретным приложениям. –

+0

@SukanyaParam Проверьте, если вы включили ssl на своем сервере, проверьте ssl-доступ (https://example.com/contextroot) перед перенаправлением. –

0

Я проанализировал и нашел способ перенаправить запросы от 80 до 443.

В файле bindings.xml (C: \ Jboss \ jboss-5.0.1.GA \ server \ default \ conf \ bootstrap) сервера Windows измените порт с 8080 на 80, так как этот файл будет иметь ссылку на server.xml.

<bean class="org.jboss.services.binding.ServiceBindingMetadata"> 
      <property name="serviceName">jboss.web:service=WebServer</property> 
      <property name="port">80</property> 

После внесения вышеуказанного изменения я перезапустил сервер один раз и ударил URL по умолчанию. Он перенаправлен на https (443).

Это помогает принудительно перенаправить все запросы, отличные от ssl, безопасным способом.

Смежные вопросы