- PR -

サーバーを変えたら動かなくなった。なんで?

投稿者投稿内容
ちょま吉
大ベテラン
会議室デビュー日: 2004/08/04
投稿数: 112
投稿日時: 2004-09-19 03:33
またまた書き込みします。

セキュリティマネージャのパーミッションチェックにひっかかっています。
恐らく、このレンタルサーバのTomcatはTomcat付属のデフォルトのセキュリティポリシーを適用するようにしているのでしょう。
この場合、Tomcat付属のadminアプリケーションのパーミッションは許可されているようですが、その他のアプリについては許可されていないようです。(Tomcat4.1で確認しました。)

このTomcatのセキュリティポリシーファイルの中でめがろぱ様が作成されたWEBアプリにソケット接続を許可する設定を書いておけば動くと思います。
もしくは、Tomcatのセキュリティポリシー利用をやめることで動くと思います。

ちょっと古いページで、しかもプラットフォームが違いますが、参考ぐらいにはなるでしょう。
http://lists.debian.or.jp/debian-users/200307/msg00322.html

それからTomcat4.1のcatalina.policyファイルからの抜粋です。
引用:

// You can assign additional permissions to particular web applications by
// adding additional "grant" entries here, based on the code base for that
// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files.
//
// Different permissions can be granted to JSP pages, classes loaded from
// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/
// directory, or even to individual jar files in the /WEB-INF/lib/ directory.
//
// For instance, assume that the standard "examples" application
// included a JDBC driver that needed to establish a network connection to the
// corresponding database and used the scrape taglib to get the weather from
// the NOAA web server. You might create a "grant" entries like this:
//
// The permissions granted to the context root directory apply to JSP pages.
// grant codeBase "file:${catalina.home}/webapps/examples/-" {
// permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
// permission java.net.SocketPermission "*.noaa.gov:80", "connect";
// };
//
// The permissions granted to the context WEB-INF/classes directory
// grant codeBase "file:${catalina.home}/webapps/examples/WEB-INF/classes/-" {
// };
//
// The permission granted to your JDBC driver
// grant codeBase "file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar" {
// permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
// };
// The permission granted to the scrape taglib
// grant codeBase "file:${catalina.home}/webapps/examples/WEB-INF/lib/scrape.jar" {
// permission java.net.SocketPermission "*.noaa.gov:80", "connect";
// };



[ メッセージ編集済み 編集者: ちょま吉 編集日時 2004-09-19 03:35 ]
めがろぱ
常連さん
会議室デビュー日: 2004/05/11
投稿数: 20
投稿日時: 2004-10-06 17:19
返事がだいぶ遅くなってしまいましたが、ちょま吉様、ご回答ありがとうございます。

やっと、この対応ができる状況になったので、レンタルサーバー屋さんにこの情報を提供して問い合わせてみました。

TOMCAT4_SECURITY="yes"を"no"に変更して欲しかったのですが、レンタルサーバーは、OSはLinuxでPleskと言うサーバーソフトを使っていて、レンタルサーバー屋さんが言うには、デフォルトの設定ファイルの
/etc/init.d/tomcat4
にはこの設定は存在していないらしく、この部分は、スクリプト形式になっており、Pleskが動的に設定ファイルを書き出しているとこことです。

今、TOMCAT4_SECURITY="yes"が設定されているファイルを探してもらっていますが、1日たっても見つからないようですので、なさそうです。

どなたか、サーバーソフト「Plesk」を使っている場合の、TOMCAT4_SECURITY="yes"の設定の変更をする方法がわかるかたいましたら、是非ご連絡ください。







スキルアップ/キャリアアップ(JOB@IT)