プログラミングガール

Developing a better me

Vagrant Share でHTTPS通信する

1.Vagrantfile記述

2.オレオレ証明書を発行

① 証明書の発行
# On Vagrant
$ yum install mod_ssl openssl
$ openssl genrsa -out ca.key 2048
$ openssl req -new -key ca.key -out ca.csr
② 決められた場所に各ファイルを配置する
$ cp ca.crt /etc/pki/tls/certs/
$ cp ca.key /etc/pki/tls/private/
$ cp ca.csr /etc/pki/tls/private/
③ /etc/httpd/conf.d/ssl.confに以下を記述
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
④ /etc/httpd/conf/httpd.confに以下を記述
Listen 443

LoadModule ssl_module modules/mod_ssl.so

NameVirtualHost *:443
#
#
<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/ca.crt
    SSLCertificateKeyFile /etc/pki/tls/private/ca.key
    <Directory /home/vagrant/www/public>
        AllowOverride All
    </Directory>
    DocumentRoot /home/vagrant/www/public/
    ServerName myfirst.test
</VirtualHost>

3.Vagrant Shareする

Vagrantが立ち上がっている状態で以下を実行。

$ vagrant share --ssh --https 443

ssh:シェアする人がSSHVagrantに入れるようにする設定
https {{ポート番号}}:Vagrantfile内で定義したdeveliop.vm.network 'forwarded_port', guest: 443, host: 8443guest の値