Bitbucket Server で外向きの HTTP および HTTPS プロキシを構成する方法

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Fisheye および Crucible は除く

このページの内容はサポート対象外のプラットフォームに関連しています。したがって、アトラシアン サポートではこのページの記載内容のサポートの提供は保証されません。この資料は情報提供のみを目的として提供されています。内容はお客様自身の責任でご利用ください。

セクション 1: 目的

このページでは、Bitbucket Server を設定し、アウトバウンド プロキシを経由して外部とやり取りできるようにします。これは Atlassian Marketplace などの、サーバーがホストされているネットワークの外部にあるサーバーにアクセスするために必要です。Bitbucket Server をリバース プロキシ (またはインバウンド プロキシ) の背後で実行したい場合は「Bitbucket のプロキシと保護」をご確認ください。

セクション 2: 構成

プロキシのサポートは、Bitbucket Server の起動時に特定のシステム プロパティを Java 仮想マシンに渡すことで設定されます。これらのプロパティは Oracle で定義された規則に従います。

  • http.proxyHost
  • http.proxyPort (デフォルト: 80)
  • http.nonProxyHosts (デフォルト: <none>)
  • https.proxyHost
  • https.proxyPort

HTTP プロキシを設定する場合は http.proxyHost プロパティ、HTTPS プロキシの場合は https.proxyHost を定義する必要があります。システム プロパティの設定の詳細については、「構成プロパティ」ドキュメントをご参照ください。

http.proxyHost および http.proxyPort プロパティは、HTTP プロトコル ハンドラが使用するプロキシ サーバーとポートを示します。次に例を示します。

-Dhttp.proxyHost=proxy.example.org -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.example.org -Dhttps.proxyPort=8080 -Dhttp.nonProxyHosts=localhost


http.nonProxyHosts プロパティは、プロキシ サーバーを経由しない、直接接続されるホストを示します。値は、"|" で区切られたホストの一覧です。ワイルドカード "*" を照合に使用できます。次に例を示します。

-Dhttp.nonProxyHosts=*.foo.com|localhost|confluence|crowd
tip/resting Created with Sketch.

Bitbucket Server 5.0+ では次の注意事項が適用されます。

  • パイプ (|) をバックスラッシュ (\) でエスケープする必要はありません。複数のプロキシ ホストを含めたい場合はパイプ (|) を単独で利用できます。
  • 複数のプロキシ ホストを定義する際、さまざまな値をラップするためにクォーテーション (") やエスケープ クォーテーション (\") は使わないでください。個々の属性は単純にパイプ区切りの一覧として指定するようにします。

5.0 よりも古い Bitbucket バージョンで Linux をご利用の場合はパイプ文字 (|) のエスケープが必要な可能性があります (参考: JAVA Option '-Dhttp.nonProxyHosts' Does Not Work)。


http.nonProxyHosts プロパティが設定されていない場合、すべての web リクエストがプロキシを経由します。ただし、Bitbucket Server インスタンスと Jira Server インスタンスのように 2 つのアトラシアン アプリケーションをアプリケーション リンクで接続する場合は、プロキシをバイパスして後半の http.nonProxyHosts プロパティを追加することをおすすめします (以降の追加ポイント #2 をご確認ください)。

リンクの IP 検証を考慮した場合、プロキシ経由での転送では、トラフィックの転送形式によってはサーバーのソース IP が変更されてしまい、予期せぬ結果となる可能性がある点にご注意ください。

http.nonProxyHosts では少なくとも localhost を除外する必要があります。これを行わないと特定の機能が適切に動作しない可能性があります。このため、次のようになります。

-Dhttp.nonProxyHosts=localhost

追加のポイント 1: NTLM

NTLM は次のようになります。

  •  not supported by UPM. (Please refer to the following report  Unable to locate Jira server for this macro. It may be due to Application Link configuration.  for further details).
  • Stash のサポート対象外  STASH-7694 - Getting issue details... STATUS
  • Jira のサポート対象外  JRA-2398 - Getting issue details... STATUS

Stash で動作するようにする方法

こちらこちらの過去のコメントでご確認いただけるように、次のような手順を利用することで成功することが報告されています。

1. Jira/Stash サーバーで Cntlm Authentication Proxy をローカルにインストールする

2. 構成およびテストを行って "Cntlm" が企業の NTLM で動作することを確認したら、次のパラメーターを使用します。

3. cntlm.ini でユーザー、ドメイン、およびプロキシ情報を更新し、次のコマンドでプロキシをテストします (Cntlm のインストール フォルダで実行します)。

cntlm -c cntlm.ini -I -M http://google.ro

4. パスワードが確認され、必要な認証情報が表示されるはずです。これは cntlm.ini に保存する必要があります。


Cntlm.ini の例
Username            user
Domain              domain

# provide actual value if autodetection fails
# Workstation         pc-name

Proxy               my_proxy_server.com:80
NoProxy             127.0.0.*, 192.168.*

Listen              127.0.0.1:54321
Listen              192.168.1.42:8080
Gateway             no

SOCKS5Proxy         5000
# provide socks auth info if you want it
# SOCKS5User          socks-user:socks-password

# printed authentication info from the previous step
Auth            NTLMv2
PassNTLMv2      98D6986BCFA9886E41698C1686B58A09

注意: Linux では構成ファイルは cntlm.conf になります

5. 上記のセクションで説明されている構成ファイルで "Cntlm" プロキシを指すようにします。これが NTLM との通信を行います。


Bitbucket Server をほかのアプリケーションに接続する場合、nonProxyHosts 引数にアプリケーションの URL を追加します。これを行わない場合、Bitbucket Server がほかのアトラシアン アプリケーションに通信しようとした際に、HTTP リクエストがタイムアウトしたり、解決されない可能性があります。このため、アプリケーションがリンクされません。Bitbucket Server を Jira ( jira.atlassian.com に存在) に接続するときの例は次のとおりです。

-Dhttp.nonProxyHosts=localhost|*.atlassian.com

追加のポイント 3: リポジトリのインポーター

Bitbucket 4.9 以降では git リポジトリを直接インポートできます。これは Java ではなくネイティブの Git を利用します。設定済みのプロキシ構成は適用されません。代わりに https://git-scm.com/docs/git-config にあるように Git クライアント用に http.proxy を構成する必要があります。

追加のポイント 4: 認証の構成

プロキシ認証は、次のプロパティを Java に提供することで構成されます。

  • http.proxyUser
  • http.proxyPassword
  • https.proxyUser
  • https.proxyPassword

Bitbucket Server 5.0+

Bitbucket Server 5.0+ では setenv と環境変数に変更があります

Bitbucket Server 5.0 以降では setenv.shsetenv.bat が取り除かれています。これらのファイルで設定されていたオプションは、環境変数で設定できるようになりました。環境変数の設定場所は、実行先のオペレーティング システムに応じます。

Linux

Linux で atlbitbucket サービスを実行する場合、環境変数は無視されます。

Bitbucket Server 5.0+ の場合、_start-webapp.sh でパラメーターを設定します。これらの値はサービスの起動時に読み取られます。

たとえば、 JVM_SUPPORT_RECOMMENDED_ARGS を設定するには、ファイルに次の行を追加します。

JVM_SUPPORT_RECOMMENDED_ARGS="-Dhttp.proxyUser=atlaspirate -Dhttp.proxyPassword=yarrrrr -Dhttps.proxyUser=atlaspirate -Dhttps.proxyPassword=yarrrrr"
Windows

Bitbucket Server を実行しているユーザーで、パラメーターを環境変数として設定します。たとえば、JVM_SUPPORT_RECOMMENDED_ARGS を設定したい場合、それを環境変数として作成して適切な値を割り当てます。Bitbucket Server がスタートアップ スクリプトやサービスを利用して起動する際に、この値が取得および適用されます。

以前の Bitbucket Server バージョン 

Linux

以前の Bitbucket Server バージョンの場合、変更対象のスクリプト ファイルは <Bitbucket Server Installation>/bin/setenv.sh です。例は次のようになります。

JVM_SUPPORT_RECOMMENDED_ARGS="-Dhttp.proxyUser=atlaspirate -Dhttp.proxyPassword=yarrrrr -Dhttps.proxyUser=atlaspirate -Dhttps.proxyPassword=yarrrrr"
Windows
  1. Start >> Run >> type in 'cmd' >> Enter でコマンド ウィンドウを開きます。
  2. Bitbucket Server のインストール ディレクトリの bin ディレクトリに cd します。
  3. 次のコマンドのいずれかを実行します。
    バージョン 4.14.5 までの Bitbucket Server

    tomcat8w.exe //ES//%SERVICENAME%


    Bitbucket Server バージョン 5.0+

    bservmgr.exe //ES/%SERVICENAME%

    %SERVICENAME% を実際のサービス名 (AtlassianBitbucket 等) で置き換えます。

  4. Java タブをクリックし、現在の起動オプションの一覧を確認します。
  5. Java オプションの下で、プロキシ構成オプションを独自の行として追加します。 

    -Dhttp.proxyUser=atlaspirate 
    -Dhttp.proxyPassword=yarrrrr 
    -Dhttps.proxyUser=atlaspirate 
    -Dhttps.proxyPassword=yarrrrr
  6. Restart Bitbucket Server


説明

このページでは、Bitbucket Server を設定し、アウトバウンド プロキシを経由して外部とやり取りできるようにします。


製品Bitbucket



最終更新日 2022 年 5 月 11 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.