私は私のweb.xmlにこの設定を持っています
<servlet>
<servlet-name>welcome</servlet-name>
<servlet-class>com.me.util.WelcomeServletPublic</servlet-class>
<init-param>
<param-name>redirect</param-name>
<param-value>/login/login.action</param-value>
</init-param>
</servlet>
<welcome-file-list>
<welcome-file>welcome</welcome-file>
</welcome-file-list>
私の開発環境では、このリダイレクトは問題なく機能しました。すべてが本番環境に移動されたため、リダイレクトは機能していません。
https://mydomain.comにアクセスすると、 https : //mydomain.com/login/login.actionにリダイレクトされます。
何が起こっているのかというと、 https://login/login.actionにリダイレクトされ、ドメイン名が失われます
今、どこがうまくいかないのか疑問に思っている大きなことは、本番サーバーがどのように構成されているかです。
正面玄関で、mod_jkを実行しているApacheがあります。80と443の2つのリスナーがあります。80リスナーは、http:// urlを取得してhttps://に書き換えるようにmod_rewriteで構成されています。次に、443リスナーが要求を受け取り、それをmod_jkにダンプします。mod_jkは、要求をポート8009経由でtomcatにリダイレクトします。tomcatは、それぞれ独自の仮想ホストで約6つのアプリケーションを実行しています。
iveは、このような構成を行う必要はなく、どこでトラブルシューティングを行うべきかわかりません。サーブレットの前の/URLを削除できないことはわかっています。誰かがmydomain.com/usersにアクセスすると、mydomain.com / users / login / login.actionにリダイレクトされるため、実際にはどこから始めればいいのかわからない。
これが私のapachevhost設定です
<VirtualHost 10.99.10.30:80>
ServerName boardingsurvey.mydomain.org
ServerAlias boardingsurvey.mydomain.org
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
<VirtualHost 10.99.10.30:443>
ServerName boardingsurvey.mydomain.org
ServerAlias boardingsurvey.mydomain.org
DocumentRoot /var/www/vhosts/bss
<Directory "/var/www/vhosts/bss">
AllowOverride None
Options Indexes FollowSymLinks
Order allow,deny
Allow from all
</Directory>
JkMount /* bss
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXP56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /etc/apache2/ssl/ssl.crt
SSLCertificateKeyFile /etc/apache2/ssl/ssl.key
SSLCertificateChainFile /etc/apache2/ssl/intermediate.crt
</VirtualHost>
~