Vagrant (Ubuntu) 環境でhttps接続する
本番がhttpsの開発でローカル環境だけhttpで接続していると色々面倒があるため、ローカルのvagrant環境でもhttps接続出来るように調整してみたメモ。
前提
OSはubuntu。というか、いつものように、vagrantの環境はscotchbox。
参考
主に以下を参考にそのまま作業した。ありがとうございます。
VagrantでUbuntuサーバ/Apache2のSSL(https) – orangeProse別館
テスト用の証明書を作成
まずはモジュールを有効に。
1 2 |
|
で、テスト用の証明書を作成。
1 2 |
|
二つ目を実行すると、コンソールの画面全体で設定画面が表示されて証明書の内容を聞かれる。 ひとつ目はコモンネーム。 hostsで指定しているURLを指定しておく。
二つ目は、 Subject Alternative Names
(サブジェクトの別名)。
「Subject Alternative Names(サブジェクトの別名)」とは何ですか | GeoTrust
今回は特に使用しないので空白のままとしておく。
apacheを再起動。
設定ファイル
このままだとSSL用の設定ファイルがないようなので、default-ssl.conf
というファイルをコピーして使用する。
1 2 3 4 |
|
参考サイトでは.conf
の拡張子が指定されていなかったのだが、指定されていないとエラーとなってしまう。
Apache2 on ubuntu で a2ensite すると does not exist と言われるときの対処法 – Qiita
最後はapacheを再起動。
この状態で、httpsでアクセスをすると、プライバシーが保護されていない、というような警告が出るが、無視してアクセスすると無事、接続できた。
ドキュメントルート
しかしhttpでアクセスしていたファイルにアクセスが出来ない。
どうやら、httpsで指定されているドキュメントルートが違っているよう。
先程コピーした、ssl.conf
ファイルを見てみる。
すると、以下のようにドキュメントルートが設定されている。
1
|
|
今回は、public
をドキュメントルートとしているので、そちらに変更する。
1
|
|
例によって、apacheを再起動して接続確認。無事、接続出来た。