1

これは奇妙な問題です。コードを正しくレンダリングしていないサイトがあります。Tomcat 5.0.27-2 サーバー (私は知っています... 古い) と Apache 2.0.46-77 サーバーです。現在許可されているよりも大きな変更であるため、現時点ではアップグレードできません。

とにかく、ここで何が起こるか:

Go to https://mysite.com/mysite and the JSP renders correctly
Go to https://www.mysite.com/mysite and the RAW JSP is displayed, no rendering
Go to https://1.2.3.4/mysite and you get the TomCat welcome page.

無効な IP URL を投稿できなかったため、コード ブロックを使用する必要がありました。

構成設定だと確信していますが、それが何であるかはわかりません。私たちが発行した SSL が www.mysite.com ではなく mysite.com 用であったという問題がありますが、それが原因ではないと思います。代わりに、すべてのトラフィック (www.mysite.com と IP) を mysite.com にリダイレクトできれば幸いです。

httpd.conf ファイルを見ました。現在、VirtualHosts には次のものがあります。

<VirtualHost 1.2.3.4:80>
 ServerName mysite.com
 DocumentRoot /mysite_root/ROOT
 ServerAdmin me@me.com
<Location "/*.jsp">
  JkUriSet worker ajp13:localhost:8009
</Location>
<Location "/*/*.jsp">
  JkUriSet worker ajp13:localhost:8009
</Location>
<Location "/*/*/*/*/*/*.jsp">
  JkUriSet worker ajp13:localhost:8009
</Location>
  RewriteEngine on
  RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
  RewriteRule .* - [F]
</VirtualHost>

次のようにファイルを更新しました。

httpd.conf

<VirtualHost 1.2.3.4:80>
 ServerName mysite.com
 DocumentRoot /mysite_root/ROOT
 ServerAdmin me@me.com
 JkMount /*.jsp worker1
 JkMount /servlet/* worker1
 RewriteCond %{HTTP_HOST} ^www.mysite.com [nocase]
 RewriteRule ^(.*)         https://www.mysite.com/$1 [last,redirect=301]
</VirtualHost>    

ssl.conf

<VirtualHost 1.2.3.4:443>
 ServerName mysite.com
 DocumentRoot /mysite_root/ROOT
 ServerAdmin me@me.com
 JkMount /*.jsp worker1
 JkMount /servlet/* worker1
 RewriteCond %{HTTP_HOST} ^www.mysite.com [nocase]
 RewriteRule ^(.*)         https://www.mysite.com/$1 [last,redirect=301]
</VirtualHost>    

mod_jk.conf

LoadModule  jk_module   modules/mod_jk.so
<IfModule jk_module>
  JkWorkersFile /etc/httpd/conf/workers.properties
  JkShmFile     /var/log/httpd/mod_jk.shm
  JkLogFile     /var/log/httpd/mod_jk.log
  JkLogLevel    info
  JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
  JkWatchdogInterval 60  
</IfModule>

労働者.プロパティ

worker.list=worker1

worker.worker1.type=ajp13
worker.worker1.host=localhost
work.worker1.port=8009

httpd を再起動すると、エラーは発生せず、java_home と catalina_home が表示されます

4

1 に答える 1

1

にあるすべてのセクションJkMountでディレクティブが複製されていることを確認する必要があります。いずれかのケースに対応していない場合は、代わりにApachehttpdがリクエストを処理します。<VirtualHost>httpd.confJkMount

Alias問題は、WebアプリのdocBaseにURIを使用していることも示しています。これは、リモートクライアントが/META-INF/context.xmlまたはなどの情報を要求/WEB-INF/web.xmlしてWebアプリに関するあらゆる種類の優れた情報(データベースの資格情報など)を取得できるようにするため、推奨される手法ではありません。

また、Tomcat 5.0は非常に古く、プログラムを実際に使用する必要があります。

于 2012-07-11T18:23:01.863 に答える