web-dev-qa-db-ja.com

どこからでもジェンキンスにアクセスできません

Jenkinsをサーバー(Debian 7 wheezy)にインストールしました。ローカルネットワークでは機能しますが、外部ネットワークでは機能しません。検索しましたが、この問題の回避策は見つかりませんでした。

サーバーにpingを実行できますが、jenkinsのアドレスにアクセスしても機能しません。

3
fische

おそらく以下の理由によるものです:

1)Webサーバーの構成

Apacheの場合:すべてから許可

Tomcatの場合:

<Host name="localhost" appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">

する必要があります

<Host name="www.example.com" appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">

2)ファイアウォール設定(外部接続用にポートを開く)

3)Jenkins Config

まず、Debienの場合、/ etc/default/jenkinsを変更し、HTTP_Host =外部アドレスの行を追加します(例:HTTP_Host = www.example.com)

次に、-httpListenAddress = $ HTTP_HostをJENKINS_ARGSに追加します(JENKINS_ARGS = "-webroot =/var/cache/jenkins/war --httpPort = $ HTTP_PORT --ajp13Port = $ AJP_PORT --httpListenAddress = $ HTTP_Host")

最後に、jenkinsを再起動します

3
William LAM

a)自宅のコンピューター(Jenkinsコンピューターではない)でBashシェルを開きます(WindowsのGit Bashで問題ありません)。

b)SECURE SSHTUNNELを介してPORTFORWARDを実行し、Jenkinsコンピューターのポート8080を自宅のコンピューターのポート8080に「マップ」します。 Git BashShellでこれを行うコマンドは次のとおりです。

ssh -L 127.0.0.1:8080:localhost:8080 [email protected] ​​-i "C:\ PathToFolderContainingMySecretKey"

ここで、xx.yyy.zzz.abはパブリックインターネットアドレスです(例:62.187.151.9)。 -iの後のパスは、Jenkinsコンピューターで使用した公開鍵と一致する秘密鍵を保存したコンピューター上のパスであることに注意してください。

c)そして今、あなたの家のコンピュータはこのように接続することができます: http:// localhost:808

d)Jenkinsを初めて構成するときは、初期管理者パスワードが必要になります。入手方法は次のとおりです。自宅のコンピューターのGitBashシェル(SSH経由でJenkinsコンピューターに既に接続していることを思い出してください):

Sudo cat/var/lib/jenkins/secrets/initialAdminPassword

コピーしてブラウザに貼り付けるだけで、すぐに使用できます。

0
Gary