LoginSignup
2
1

More than 5 years have passed since last update.

CentOS6 Jenkins + Apache(SSL)環境の構築

Posted at

環境

CentOS 6.9
Jenkins 2.116
apache 2.2.15
mod_ssl 2.2.15

概要

JenkinsをSSL化する方法は、2種類あるみたい。
1,Jenkins自体に証明書を設定してSSL化する。
→この方法は、Jenkinsがrootで動作していない場合は1023以下のPort番号が利用できない。(Port 8443などを利用する事が一般的みたい。)

2,Jenkinsの前に、Webサーバ(ApacheやNginx)を構築して、
Webサーバ → Jenkinsという経由でアクセスさせる。

今回の場合は、2の方法の説明です。
最近はNginxが人気みたいですが、特にこだわりがないのでApacheで構築します。

※Jenkinsは、インストール済み前提の説明です。

参考URL

構築作業

apache mod_sshインストール

yum -y install httpd mod_ssl

apache設定その1

vi /etc/httpd/conf/httpd.conf

# NameVirtualHost *:80
↓
NameVirtualHost *:80
NameVirtualHost *:443

apache設定その2

vi /etc/httpd/conf.d/jenkins.conf (←新規作成)

<VirtualHost *:80>
  ServerName my.domain   # ←ここに自分のドメイン
  Redirect permanent / https://my.domain/ # ←ここに自分のドメイン
</VirtualHost>

<VirtualHost *:443>
  ServerName my.domain    # ←ここに自分のドメイン

  SSLEngine On
  SSLCertificateFile    /etc/pki/tls/certs/localhost.crt # ←その内、Let's Encryptにしたい。。
  SSLCertificateKeyFile /etc/pki/tls/private/localhost.key # ←その内、Let's Encryptにしたい。。

  ProxyRequests     Off
  ProxyPreserveHost On
  AllowEncodedSlashes NoDecode
  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>
  ProxyPass         /  http://localhost:8080/ nocanon
  ProxyPassReverse  /  http://localhost:8080/
  ProxyPassReverse  /  http://my.domain/  # ←ここに自分のドメイン
  RequestHeader set X-Forwarded-Proto "https"
  RequestHeader set X-Forwarded-Port "443"
</VirtualHost>

apacheの再起動

service httpd restart

その他

そのうち、証明書を自己署名から「Let's Encrypt」にしたい。。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1