開発サーバーに、自動テスト用のツールJenkinsをインストールしました。これはポート8080で実行されます。www.mysite.com:8080
に移動すると、このためのコマンドパネルが表示されます。 Apacheを使用してパスワードで保護することにより、これを外部からアクセスできないようにします。 (私のサーバーはUbuntu 12.04 LTSを実行しています)。私は以下を読み通しました ページ 一般的なアドバイス、特にセキュリティのトピックについて 提案 以下の設定:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/opt/Apache/httpd/htdocs"
ServerName jenkins.yourdomain.com
ErrorLog "logs/jenkins-error_log"
ProxyPass /jenkins/ ajp://127.0.0.1:8102/jenkins/
ProxyPassReverse /jenkins/ ajp://127.0.0.1:8102/jenkins/
<Location />
Order allow,deny
Allow from all
</Location>
<Location /jenkins/>
AuthType basic
AuthName "jenkins"
AuthUserFile "/opt/Apache/httpd/conf/.htpasswd"
</Location>
</VirtualHost>
私のApacheファイルには現在次の設定があります。
<VirtualHost *:80>
# Admin email, Server Name (domain name), and any aliases
ServerAdmin [email protected]
ServerName www.mysite.com
ServerAlias mysite.com
# Index file and Document Root (where the public files are located)
DirectoryIndex index.html index.php
DocumentRoot /var/www
# Log file locations
LogLevel warn
ErrorLog /var/log/Apache/error.log
CustomLog /var/log/Apache/access.log combined
</VirtualHost>
提案されたアプローチをエラーなしで機能させることができなかったので(コンソールまたはログにメッセージはありませんが)、次の行を追加しました。
<VirtualHost *:8080>
ServerName www.mysite.com
ProxyPass / http://www.dev.mysite.com:8080/
ProxyPassReverse / www.dev.mysite.com:8080/
ProxyPreserveHost on
<Proxy *>
AuthType Basic
AuthName "Dev Server"
AuthUserFile "/home/.htpasswd"
Require valid-user
</Proxy>
</VirtualHost>
そして、私の.htpasswd
ファイルに次の行を入れました。
john:n5MfE
dave:9fluR
その後、Apacheを再起動しましたが、パスワードがなくてもポート8080
にアクセスできます。私は正しい手順に従っていますか?
プレーンテキストのパスワードはLinuxではサポートされていないため、htpasswdプログラムを使用して、ユーザーを作成し、.htpasswdファイルに追加する必要があります。
htpasswd -c /home/.htpasswd john
New password:
Re-type new password:
Adding password for user john
ファイルを作成し、指定したパスワードを使用してユーザーjohnを追加します。次に、このような他のユーザーを追加できます
htpasswd /home/.htpasswd dave
New password:
Re-type new password:
Adding password for user dave
よく分かりません <Proxy>
ディレクティブはHTTP基本認証を処理します(ドキュメントはIP /ドメインによる制限のみを示唆しています)。次のような一般的な方法を使用する必要があると思います。
<Location />
AuthType Basic
AuthName "Dev Server"
AuthUserFile "/home/.htpasswd"
Require valid-user
</Location>