How to configure an outbound HTTP and HTTPS proxy for Stash

'How Do I...' and 'How to...' Guide to Stash

このページの内容

お困りですか?

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

コミュニティに質問

プラットフォームについて: 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 は除く

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

目的

This page defines how to configure Stash such that it can communicate externally through an outbound proxy. This is required to access servers outside the network it's hosted in, such as the Atlassian Marketplace. If you wish to host Stash behind a reverse-proxy (or inbound proxy), please refer to Proxying and securing Stash.

構成

Proxy Support is configured in Stash by passing certain system properties to the Java Virtual Machine (JVM) on startup. These properties follow the conventions defined by Oracle:

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

The http.proxyHost property must be defined to configure an HTTP proxy, and https.proxyHost for an HTTPS proxy. System property configuration is described in further detail within our Setting Properties and Options on Startup documentation.

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

(info) The pipe character (|) may need to be escaped in Linux, as per our JAVA Option '-Dhttp.nonProxyHosts' Does Not Work KB article.

If the http.nonProxyHosts property is not configured, all web requests will be routed through the proxy. For example, if connecting the Stash and JIRA applications together with Application Links, we would recommend bypassing the proxy and communicating on the internal network with this property. Routing through the proxy can have ramifications when taking into account IP validation on those links - the source IP of the server can be different depending on how the traffic is routed.

(warning) At the minimum, the http.nonProxyHosts must exclude localhost, otherwise certain functionality may not properly work. For example:

-Dhttp.nonProxyHosts=localhost

NTLM

NTLM is not supported by UPM. Please refer to  Unable to locate Jira server for this macro. It may be due to Application Link configuration.  for further comments.

It is not supported by Stash either:  STASH-7694 - Getting issue details... STATUS

It is not supported by JIRA either:  JRA-2398 - Getting issue details... STATUS

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

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

  • Jira/Stash サーバーで Cntlm Authentication Proxy をローカルにインストールする
  • Configured and tested it to make sure "Cntlm" works with their corporate NTLM and then used the parameters

    Cntlm が NTLM で動作していることをテストする方法

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

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

    パスワードが確認され、必要な認証情報が表示されるはずです。これは 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 です

  • Have the configuration described on the section above point to the "Cntlm" proxy instead - and that one will do the job to talk to NTLM.

If connecting Stash to any other applications, the application URL should be added to the nonProxyHosts argument. Otherwise what can happen is when Stash attempts to talk to another Atlassian application the HTTP request can timeout, or not resolve. This will prevent the applications from linking. For example when connecting Stash to JIRA (located on jira.atlassian.com):

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

認証の設定

Proxy authentication is configured by passing the below properties to Java:

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

Linux

Modify <Stash Installation>/bin/setenv.sh and add the following to JVM_SUPPORT_RECOMMENDED_ARGS:

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. cd to the bin directory of your STASH installation directory
  3. 次のコマンドを実行します。

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

    -Dhttp.proxyUser=atlaspirate 
    -Dhttp.proxyPassword=yarrrrr 
    -Dhttps.proxyUser=atlaspirate 
    -Dhttps.proxyPassword=yarrrrr
  6. Restart Stash



最終更新日 2018 年 11 月 2 日

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

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