[解決済み] Tomcat Managerアプリに別ホストからアクセスする
質問
リモート サーバーに tomcat 9 をインストールし、起動すると、正常に表示され、次のようにアクセスすることができます。 http://host_name:port_num にアクセスし、tomcat の Hello ページを見ることができます。しかし、デプロイされたアプリを見るためにマネージャーアプリを開こうとすると、403 access denied と表示されます。
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="admin"/>
<user username="user" password="password" roles="admin,manager,manager-gui"/>
私が見たエラーメッセージは
デフォルトでは、ホストマネージャはTomcatと同じマシン上で動作するブラウザからしかアクセスできません。この制限を変更したい場合は、ホスト・マネージャの context.xml ファイルを編集する必要があります。
どのように context.xml ファイルを変更し、マネージャアプリにアクセスできるようにすればよいのでしょうか。
どのように解決するのですか?
デプロイされた各ウェブアプリには
context.xml
ファイルがあり、それは
$CATALINA_BASE/conf/[enginename]/[hostname]
(conf/Catalina/localhost by default)
で、ウェブアプリと同じ名前(
manager.xml
と同じ名前です)。 ファイルが存在しない場合は、デフォルト値が使用されます。
そこで、ファイル
conf/Catalina/localhost/manager.xml
を作成し、リモートアクセスを許可するルールを指定します。 例えば、以下のような内容の
manager.xml
は、すべてのマシンからのアクセスを許可します。
<Context privileged="true" antiResourceLocking="false"
docBase="${catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^YOUR.IP.ADDRESS.HERE$" />
</Context>
のallow属性に注意してください。
Valve
要素の allow 属性は接続するホストの IP アドレスにマッチする正規表現であることに注意してください。 ですから、あなたの IP アドレスを YOUR.IP.ADDRESS.HERE (または他の有用な表現) に置き換えてください。
その他
Valve
クラスは他の規則に対応します (例.
RemoteHostValve
でホスト名のマッチングを行うなど)。 Tomcat の以前のバージョンでは、IP アドレスのマッチングに org.apache.catalina.valves.RemoteIpValve というバルブ クラスを使用します。
上記の変更が行われると、マネージャの URL にアクセスする際に認証ダイアログが表示されるようになります。 で提供した詳細を入力すると
tomcat-users.xml
に入力すると、マネージャにアクセスできるはずです。
関連
-
[解決済み] tomcatで、catalina_homeとは何ですか、そしてなぜそれを使うのですか?
-
[解決済み] ERROR: トランスポートエラー202: デバッグモードでTomcat 7を起動すると、バインドに失敗しました。
-
tomcat start report c3p0プールの初期化中... Com.mchange.v2.c3p0.
-
NamingException: このクラスローダーにバインドされているネーミング・コンテキストがありません。
-
[解決済み] NetBeansからのTomcat起動エラー - '127.0.0.1*' が内部コマンドまたは外部コマンドとして認識されない
-
[解決済み] サーバー http:/localhost:8080 は、ユーザー名とパスワードが必要です。とサーバーは言っています。XDB
-
[解決済み] Tomcat 7.0でのWebアプリケーションのコンテキストパスの設定方法
-
[解決済み] Tomcatのポートを8080から80に変更するには?
-
[解決済み] Java Web アプリケーションでアプリケーションサーバーの外側から静的データを提供する最も簡単な方法
-
[解決済み] IntelliJとTomcat... Howto...?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】TOMCAT SSL Error: エイリアス名がキーエントリーを識別していない
-
[解決済み] keytool error: java.lang.Exception: 応答からのチェーンの確立に失敗しました
-
解決方法について サーバ Tomcat v9.0 Server at localhost の起動に失敗しました。
-
深刻:起動中に子コンテナが失敗した
-
NamingException: このクラスローダーにバインドされているネーミング・コンテキストがありません。
-
[解決済み] MaxMetaspaceSizeを設定した方が良いですか?
-
tomcat 起動エラー。ProtocolHandler["ajp-nio-8009"] に関連するエンドポイントの破棄に失敗しました (非常に簡単な解決方法)
-
[解決済み] JBossとTomcatの比較 [終了しました]。
-
[解決済み] Java Web アプリケーションでアプリケーションサーバーの外側から静的データを提供する最も簡単な方法
-
[解決済み] Tomcatは起動していますか?