URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 67565
[ Назад ]

Исходное сообщение
"не работает redirect у tomcat"

Отправлено href , 13-Июл-06 18:54 
Хочу сделать чтобы при запросе http://192.168.57.4 принудительно происходил редирект на https://192.168.57.4

При подключении на 443 или на 80 - всё работает ок.
Подскажите плиз, куда копать!


# cat server.xml
<Server port="8005" shutdown="SHUTDOWN" debug="0">
<Service name="Tomcat-Apache">
  <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
    port="80"
    redirectPort="443"
    minProcessors="5"
    maxProcessors="75"
    enableLookups="false"
    acceptCount="100" debug="0"
    useURIValidationHack="false"
    disableUploadTimeout="true">
  </Connector>
  <Engine className="org.apache.catalina.connector.warp.WarpEngine"
    name="Apache"
    defaultHost="localhost"
    debug="0">
    <Logger className="org.apache.catalina.logger.FileLogger"
      prefix="tizona."
      suffix=".log"
      timestamp="true"/>
      <Host name="192.168.57.4"
         debug="3"
         appBase="/usr/local/www"
         autoDeploy="true">
         <Context path=""
           docBase="/usr/local/billing/www/admin"
           debug="3"
           reloadable="false" />
         <Context path="/user"
           docBase="/usr/local/billing/www/user"  
           debug="3"
           reloadable="false" />
        <Context path="/register"
           docBase="/usr/local/billing/www/register"
           debug="3"
           reloadable="false" />
      </Host>
   </Engine>
</Service>

<Service name="Tomcat-Apache">
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
  port="443"
  minProcessors="5"
  maxProcessors="75"
  enableLookups="false"
  acceptCount="100"
  debug="0"
  scheme="https"
  secure="true"
  useURIValidationHack="false"
  disableUploadTimeout="true">
  <Factory className="org.apache.coyote.tomcat4.CoyoteServerSocketFactory"
    clientAuth="false"
    protocol="TLS"
    keystoreFile="/etc/.key_bill"
    keystorePass="PASSWD"/>
</Connector>
<Engine className="org.apache.catalina.connector.warp.WarpEngine"
    name="Apache"
    defaultHost="localhost"
    debug="6">
    <Host name="192.168.57.4"
      debug="0"
      appBase="/usr/local/www"
      autoDeploy="true">
      <Context path="" docBase="admin" debug="3" reloadable="false" />
      <Logger className="org.apache.catalina.logger.FileLogger"
         prefix="server."
         suffix=".log"
         timestamp="true"/>
    </Host>
</Engine>
</Service>

</Server>


Содержание

Сообщения в этом обсуждении
"не работает redirect у tomcat"
Отправлено Smith , 18-Июл-06 18:43 
>Хочу сделать чтобы при запросе http://192.168.57.4 принудительно происходил редирект на https://192.168.57.4
>
>При подключении на 443 или на 80 - всё работает ок.
>Подскажите плиз, куда копать!
>
>
># cat server.xml
><Server port="8005" shutdown="SHUTDOWN" debug="0">
><Service name="Tomcat-Apache">
>  <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
>    port="80"
>    redirectPort="443"
>    minProcessors="5"
>    maxProcessors="75"
>    enableLookups="false"
>    acceptCount="100" debug="0"
>    useURIValidationHack="false"
>    disableUploadTimeout="true">
>  </Connector>
>  <Engine className="org.apache.catalina.connector.warp.WarpEngine"
>    name="Apache"
>    defaultHost="localhost"
>    debug="0">
>    <Logger className="org.apache.catalina.logger.FileLogger"
>      prefix="tizona."
>      suffix=".log"
>      timestamp="true"/>
>      <Host name="192.168.57.4"
>         debug="3"
>         appBase="/usr/local/www"
>         autoDeploy="true">
>         <Context path=""
>           docBase="/usr/local/billing/www/admin"
>
>           debug="3"
>
>           reloadable="false" />
>         <Context path="/user"
>           docBase="/usr/local/billing/www/user"
>
>           debug="3"
>
>           reloadable="false" />
>        <Context path="/register"
>           docBase="/usr/local/billing/www/register"
>
>           debug="3"
>
>           reloadable="false" />
>      </Host>
>   </Engine>
></Service>
>
><Service name="Tomcat-Apache">
> <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
>  port="443"
>  minProcessors="5"
>  maxProcessors="75"
>  enableLookups="false"
>  acceptCount="100"
>  debug="0"
>  scheme="https"
>  secure="true"
>  useURIValidationHack="false"
>  disableUploadTimeout="true">
>  <Factory className="org.apache.coyote.tomcat4.CoyoteServerSocketFactory"
>    clientAuth="false"
>    protocol="TLS"
>    keystoreFile="/etc/.key_bill"
>    keystorePass="PASSWD"/>
> </Connector>
> <Engine className="org.apache.catalina.connector.warp.WarpEngine"
>    name="Apache"
>    defaultHost="localhost"
>    debug="6">
>    <Host name="192.168.57.4"
>      debug="0"
>      appBase="/usr/local/www"
>      autoDeploy="true">
>      <Context path="" docBase="admin" debug="3" reloadable="false" />
>      <Logger className="org.apache.catalina.logger.FileLogger"
>         prefix="server."
>         suffix=".log"
>         timestamp="true"/>
>    </Host>
> </Engine>
></Service>
>
></Server>

В web-xml приложения необходимо прописать security constraint, подобный такому:

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

После этого при обращении к страницам, которые соответствуют заданному паттерну томкат будет делать редирект на https. По http эти ресурсы обслуживаться больше не будут.



"не работает redirect у tomcat"
Отправлено mjk , 18-Июл-06 20:32 
я это делаю так :
в конфиге апача пишем:

<VirtualHost *:80>
  ServerName admin.mjk.org.ua
  RedirectMatch (.*)\.*$ https://admin.mjk.org.ua
</VirtualHost>

или второй вариант, создать index.html файл и написать в нем :

<html>
<head>
<META HTTP-EQUIV="Refresh" Content="0; URL=https://stat.com.ua">
</head>
<body>
Redirect https://stat.com.ua
</body>
<html>


"не работает redirect у tomcat"
Отправлено Nikolaev D. , 19-Июл-06 00:20 
SUN ONE  рулит

"не работает redirect у tomcat"
Отправлено href , 19-Июл-06 14:35 
Что-то не выходит..
Вот мой web.xml:

<security-constraint>
       <web-resource-collection>
           <web-resource-name>NAME</web-resource-name>
           <url-pattern>/admin/*</url-pattern>
<!-- Пробовал и такие варианты
<url-pattern></url-pattern>
<url-pattern>*</url-pattern>
<url-pattern>/*</url-pattern>
<url-pattern>/</url-pattern>
<url-pattern>/admin/</url-pattern>
-- >
       </web-resource-collection>
       <user-data-constraint>
             <transport-guarantee>CONFIDENTIAL</transport-guarantee>
       </user-data-constraint>
</security-constraint>

При коннекте на 80 или 443 в броузер выдается:
"
type Status report
message /
description The requested resource (/) is not available.
"


"не работает redirect у tomcat"
Отправлено Fagor , 19-Июл-06 14:39 
что-то ветка на флейм уже смахивает, если что можно в аську 63902229