Jira に認証のために接続できない - Forbidden 403
症状
「ユーザー管理のために Jira に Stash を接続する」にしたがってユーザー管理のために Stash を Jira に接続しようとすると失敗する。/stash/connecting-stash-to-jira-for-user-management-278071971.html に次のいずれかのエラーが記録される。
2014-07-31 09:03:44,168 ERROR [http-bio-7990-exec-5] Csmarkus @1QMMOPRx543x995x0 8qk0ii 192.168.1.1 "POST /plugins/servlet/embedded-crowd/configure/jira/ HTTP/1.1" c.a.c.e.a.ConfigurationController Configuration test failed for user directory: [ JIRA Server], type: [ CROWD ]
com.atlassian.crowd.exception.runtime.OperationFailedException: com.atlassian.crowd.exception.ApplicationPermissionException: Forbidden (403) Encountered a "403 - Forbidden" error while loading this page. Go to JIRA home
at com.atlassian.crowd.embedded.core.CrowdDirectoryServiceImpl.testConnection(CrowdDirectoryServiceImpl.java:78) ~[embedded-crowd-core-2.7.2.jar:na]
at com.atlassian.stash.internal.crowd.SecureCrowdDirectoryServiceImpl.testConnection(SecureCrowdDirectoryServiceImpl.java:52) ~[stash-service-impl-3.2.0.jar:na]
...
Caused by: com.atlassian.crowd.exception.ApplicationPermissionException: Forbidden (403) Encountered a "403 - Forbidden" error while loading this page. Go to JIRA home
...
または
2013-02-25 18:46:40,671 ERROR [http-bio-7990-exec-7] kahloun.foong 1126x118x1 jx9vwz 0:0:0:0:0:0:0:1%0 "POST /plugins/servlet/embedded-crowd/configure/jira/ HTTP/1.1" c.a.c.e.a.ConfigurationController Configuration test failed for user directory: [ JIRA Server], type: [ CROWD ]
com.atlassian.crowd.exception.runtime.OperationFailedException: com.atlassian.crowd.exception.ApplicationPermissionException: <!DOCTYPE html>
<html>
<head>
<title>Forbidden (403)</title>
...
</head>
<body id="jira" class="aui-layout aui-style-default page-type-message">
<div id="page">
<header id="header" role="banner">
<nav class="global" role="navigation">
<div class="primary">
<h1 id="logo"><a href="/secure/MyJiraHome.jspa"><img src="/images/jira111x30.png" width="111" height="30" alt="Your Company JIRA" /></a></h1>
</div>
</nav>
</header>
<section id="content" role="main">
<header><h1>Forbidden (403)</h1></header>
<div class="content-container">
<div class="content-body">
<p>Encountered a <code>403 - Forbidden</code> error while loading this page.</p>
<p><a href="/secure/MyJiraHome.jspa">JIRA home</a></p>
</div>
</div>
</section>
</div>
</body>
</html>
at com.atlassian.crowd.embedded.core.CrowdDirectoryServiceImpl.testConnection(CrowdDirectoryServiceImpl.java:78) ~[embedded-crowd-core-2.5.3-m1.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_37]
...
Caused by: com.atlassian.crowd.exception.ApplicationPermissionException: <!DOCTYPE html>
原因
次の理由により、Stash サーバーが Jira サーバーに接続またはアクセスできない。
- Jira の Jira ユーザー設定に、Stash サーバーの IP アドレスが含まれない。
- Jira で Stash のサーバーまたは IP アドレスがホワイトリストに追加されていないが、それらが同じサーバーにインストールされている。
- Stash から Jira へのこのようなアクセスをブロックするプロキシまたはファイアウォールが存在する。
ソリューション
- Stash サーバーの URL (または IP アドレス) が Jira ユーザー サーバーまたはホワイトリスト設定に追加されていることを確認します。
このようなアクセスをブロックしている可能性がある任意のプロキシまたはファイアウォールを構成します (アクセスをブロックするルール、NAT、PAT など)。「Confluence で Web プロキシ サポートを構成する」の方法に従ったり、ファイアウォールのルールを確認したり、ログでパッケージがドロップされているかどうかを確認したりすることができます。
プロキシの迂回を試みます。たとえば、Jira と Stash の両方が同じサーバーに存在する場合、接続に
127.0.0.1
を使用することを試みます。Jira ユーザー サーバー上で以下を実施します。「ステップ 1 : Stash からの接続を許可するように Jira を設定する」 、 項目5、以下の IP を設定する。
127.0.0.1 ::1 your.hostname
「ステップ 2: Jira に 接続するよう Stash を設定する」、項目4、http://127.0.0.1:8080/jira を「サーバー設定」で設定する。
または、ネットワーク上に Stash と Jira との間に直接接続がある場合、それらの IP を使用する。