Tomcatの基本認証で80ポートでは通らず、8080ポートでは通る理由とは?

このQ&Aのポイント
  • Tomcatの基本認証を設定した際、80ポートでは認証が通らず、8080ポートでは正常に認証が行われる理由について教えてください。
  • IISがエラーメッセージを表示することから、設定が間違っている可能性も考えられます。80ポートでアクセスする際、どのようなドメインを指定する必要があるのかも教えていただきたいです。
  • 基本認証をかけたJSPファイルへのアクセス制限を実現するために、Tomcatの設定を参考にしましたが、80ポートでは認証が通らない現象が起きます。どうすれば80ポートでも正しく認証が行われるようになるのでしょうか?
回答を見る
  • ベストアンサー

Tomcatの基本認証が8080ポートだと通るのに80ポートだと通らない

JSPファイルにアクセス制限をかけたかったため、 http://www.javaroad.jp/opensource/js_tomcat9.htm を参考にして 基本認証をかける設定にしました。 そうすると、 http://localhost:8080/XXXX.jsp のように8080ポートでは ちゃんと認証を行えるのに http://localhost/XXXX.jsp でアクセスすると、 ユーザ名 パスワード ドメイン を聞く ボックスがあらわれ、ユーザ名とパスワードを入力しても認証がとおりません。 8080でアクセスしたときには、ドメインを聞かれないのに、80でアクセスすると聞かれるんです。 また、認証エラーも TomcatではなくIISが出しているように思います。 80でアクセスしたとき、ドメインには何を指定すればよいのでしょうか?(マシン名や 空欄ではNG) もしくはそもそも設定が間違っているのでしょうか? 教えてください。

  • Java
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

 設定が間違っているというよりかは、状況を正しく把握できていないのではないかと思う。  IIS-Tomcat連携を行っている場合、WebブラウザとHTTPでやりとりをしているのはIISだ。図で説明すると以下のようになる。   Tomcat-Engine  |       | TomHTTPD   IIS  8080      80  |       | Webブラウザ  Webブラウザ  つまり、80番につないで来たWebブラウザにBASIC認証のHTTPレスポンスを返すのは当然IISだ。この時、Tomcat-HTTPDは一切関与しない。  なので、どうしても同じ動きをさせたければ、80番の特定のロケーションを8080にリバースプロクシするなどの、泥臭い設定を行わなければいけないだろう。  まぁ、それが全てではないので、もっとTomcatに明るい人の回答を待ってみましょう。

kujiramaru
質問者

お礼

ありがとうございました。 Linuxの Apache+Tomcat環境では、Tomcatの認証設定をすればそのまま80ポートで認証ができました。 IISの場合は80ポートをTomcatにリダイレクトする形なのでうまくいかないのですね。 IIS(Windows)環境の場合は、TomcatではなくIISに基本認証をかける設定にしたいと思います。

関連するQ&A

  • Tomcatに認証設定をする

    Tomcat6のマネージャにはデフォルトで認証機能が備わっており、tomcat-users.xmlでユーザーとパスワードを設定すれば、認証ができるかと思います。 マネージャに行く前の画面(Tomcatのフロントページ)を認証させることは可能でしょうか? 開発中に見られるのは少し問題のような気がします。 どのように対処するのが一般的でしょうか? ご存知の方、宜しくお願いします。

    • ベストアンサー
    • Java
  • Tomcatの認証

    Tomcatのrealmを使用して認証画面を作りたいのですが 会社ID、ユーザーID、パスワードの3項目で認証させたいのですが 3つの項目での認証というのは可能でしょうか 一応調べたのですが ユーザIDとパスワードの2つでの認証は載っているものの3項目での認証はありません よろしくお願いします

  • windows2000のIISの認証設定について

    windows2000でIISの認証設定の、匿名アクセス認証のチェックを外すと、ユーザー名とパスワードを聞いてくるのですが ユーザー名とパスワードに何を入れたら良いか教えてください。 認証の設定はIISの既定Webサイトのフォルダーに、プロパティ設定で、 ディレクトリセキリュティの匿名アクセス及び認証コトロールの編集の設定で、 匿名アクセスのチェックを外しています。 チェックを入れた状態のユーザー名は、IUSR_PCS17694でパスワード**********で ISによるパスワードの管理を許可するの所にチェックが入っています。

  • tomcat アクセスエラー

    tomcat webサーバにアクセスする際に以下の条件で、 タイムアウトによりアクセスできません。 【apacheまたはtomcat(ポート8080)画面が見える条件】 (rootユーザ) http://localhost/ http://(ip or ドメイン)/ http://localhost:8080/ (一般ユーザ) http://localhost/ http://(ip or ドメイン)/ http://localhost:8080/ http://(ip or ドメイン):8080/ 【apacheまたはtomcat画面が見えない条件】 (rootユーザ) http://(ip or ドメイン):8080/ 何か原因など考えられますでしょうか? よろしければご教授ください。 よろしくお願いいたします。

  • IIS,Tomcat,Oracleの共存

    IIS上でTomcatを動かし、ASP、JavaServletの共存するOracleを用いたデータベースWebシステムを構築しようとしています。 下記URLを参考にし、同一手順で構築しているのですが、Tomcatのほうがうまく動いてくれません。 現状でこのような状態です。 (1) IIS(ASP)、Oracle、J2SDKは問題なく動いています。 (2) http://localhost:8080/へアクセスするとパスワード要求が出る。  <詳細>  ネットワークパスワードの入力   ユーザ名とパスワードを入力してください。   サイト:localhost   領域:XDB  ちなみにOracleのID,パスワードをいれると認証がとおります。  認証通過後はどこかのディレクトリ参照のような画面になるが、どこを指しているのかわからない。   public/、sys/、xdbconfig.xml という表示が出ているのだが、全ドライブで[xdbconfig.xml]を検索しても引っかからない。 (3) 立ち上がっているOracleのサービスをすべて停止しても同じ症状が出る。 (4) 下記URLの仮想ディレクトリの設定部分に   アクセス権:ISAPIアプリケーションを追加、   とあるが、具体的にどうすればよいかわからない。 このような状態にあります。 最終的には、ASPからPOSTなりGETなりのリクエストでServletを呼び出したいのです。 すべて同じサーバでの動作です。 以上、原因がわかる方がいらっしゃったら、ご指示の方をよろしくお願いいたします。 環境 OS:Windows 2000 pro アプリ:IIS5.0、Tomcat4.0.3、Oracle9i、J2SDK1.4.1 参考URL http://homepage2.nifty.com/ann/Windows/tomcat/tomcat-iis.html

  • IIS でのユーザー認証について あれっ?

    LANで内部に Webページを公開したいと思います。 IIS でユーザー認証をさせたいので、 「インターネットサービスマネージャ」を使って、 しかるべき設定を行い、そのページに対し、特定ユーザー のみアクセス権を与えました。 その後、対象となるページを読み込むと、ユーザー認証の ダイアログが出てきて、ユーザー名、パスワードの入力が 求められます。 ここまではいいのです!! さらに、その下に、ドメイン名の入力を求められます。 これは何とかならんか(省略できないか)、と私に詰め 寄られて、困っています。 ユーザー名と、パスワード入力でシンプルに収めること はできないのでしょうか。 他所のサーバーでそのようなダイアログを見たことがある のですが・・・

  • tomcatの挙動

    tomcat起動前に http://localhost:xxxx/ ※xxxx=tomcatのポート に対してアクセスすると、tomcatのエラー画面になります(参照:添付画像)。 tomcat起動されていないのに、なぜ、どうやってtomcatのページへアクセスされるのでしょうか?

    • ベストアンサー
    • Java
  • Tomcat5.5.9でadminツールを

    Tomcat5.5.9でadminツールをダウンロードして、 jakarta-tomcat-5.5.9\conf\Catalina\localhost\admin.xmlを${CATALINA_HOME}\conf\Catalina\localhost\にコピー jakarta-tomcat-5.5.9\server\webapps\adminを${CATALINA_HOME}\server\webappsにコピー しました。 Apache2.0.54と連携しているので、 http://localhost/admin/index.jspでログイン画面までいくのですが、パスワードをうってもログインできません。 ${CATALINA_HOME}\conf\tomcat-users.xmlには <user username="admin" password="****" roles="admin,manager"/> という記述があるのですが、パスワードを打ってもだめなのです。 何か他に設定しなければならないことがあるのでしょうか?

    • ベストアンサー
    • Java
  • Tomcatのインストールディレクトリ

    http://www.javaroad.jp/opensource/js_eclipse6.htm ↑のURLの1-9でつまづいています。 1-9. 「ライブラリ」タグの「外部jar追加」をクリックし、Tomcatのインストールディレクトリ内の「lib」ディレクトリにある「servlet-api.jar」ファイルと「jsp-api.jar」ファイルを外部jarとして設定します。 Tomcatのインストールディレクトリとはどこにあるのでしょうか? 馬鹿でスミマセン。

    • ベストアンサー
    • Java
  • tomcat ldap認証につきまして。

    ◆環境 centos6.7(64bit) apache2.2.27 tomcat 8.0.28 java version "1.8.0_65" ◆やりたいこと。 上記の環境で、basic認証周りを勉強しています。 通常のtomcat-users.xml での認証ではなくldapに登録しているグループ・ユーザーで認証できるように設定がしたいと考えています。 その中で、いろいろなサイトを見ていますと、tomcatの場合はActive Directory認証の内容が よく掲載されています。 私の中で、ldap認証で行いたいと思っているのですが、中々参考になるサイトが 見つからず。 理想は、http://www.server-world.info/query?os=CentOS_6&p=ldap&f=[1-9] で構築したldapで、tomcat managerなどの認証を行いたいと考えています。 すいません、上記設定が載っている参考になるサイトなどご教授いただければと思います。

専門家に質問してみよう