問題
MacOS(最新BigSur11.1)クリーンインストール状態から、HomebrewでインストールしたApacheを利用し、ローカルのWeb環境を構築しています。
すでにユーザーフォルダ以下にVirtualHost設定し、サブドメインでブラウザ表示できるようにしています。
これを、いわゆるオレオレ証明書でSSL化をしたいのですが、うまくいきません。
/Users/user_name/Sites → http://localhost ...接続可 (SSL設定するとこっちもエラーになる) → https://localhost ...接続不可 /Users/user_name/Sites/sample1/ → http://sample1 ...接続可 (SSL設定するとこっちもエラーになる) → https://sample1 ...接続不可 /Users/user_name/Sites/sample2/ → http://sample2 ...接続可 (SSL設定するとこっちもエラーになる) → https://sample2 ...接続不可
OpenSSLは設定が難しく、Mkcertを利用しています。
行ったこと
ターミナル(zsh)で以下のコマンドで、証明書を作りました。
Terminal
1Mkcertインストール 2 3$ brew install mkcert nss 4$ mkcert -install 5 6※Firewfox適用のため(?)nssもインストール 7 どこかの情報の受け売りなので理由はよくわかっていません。 8 9わかりやすい場所に移動 10$ cd /Users/user_name/Desktop 11 12各バーチャルホスト用に証明書を発行(ワイルドカードで複数設定など難しいことはしていません) 13$ mkcert localhost 14$ mkcert sample1 15$ mkcert sample2 16 17できあがった証明書 18localhost.pem 19localhost-key.pem 20sample1.pem 21sample1-key.pem 22sample2.pem 23sample2-key.pem
証明書を、以下にドラッグ&ドロップで移動 (sslフォルダは手動で作成) /usr/local/etc/httpd/ssl/
httpd.confを編集
/usr/local/etc/httpd/httpd.conf 下の行をコメントアウト LoadModule ssl_module lib/httpd/modules/mod_ssl.so Include /usr/local/etc/httpd/extra/httpd-ssl.conf
httpd-ssl.confを編集
/usr/local/etc/httpd/extra/httpd-ssl.conf ポート番号を変更 Listen 8443 → Listen 443 121行目あたりの↓からラストまで、すべてコメントアウト # <VirtualHost _default_:8443> 〜 </VirtualHost> 以下を追記(localhost) <VirtualHost _default_:443> ServerName "localhost" DocumentRoot "/Users/user_name/Sites" SSLEngine on SSLCertificateFile "/usr/local/etc/httpd/ssl/localhost.pem" SSLCertificateKeyFile "/usr/local/etc/httpd/ssl/localhost-key.pem" <Directory "/Users/user_name/Sites"> Options FollowSymLinks AllowOverride all Require all granted </Directory> </VirtualHost> (Sample2も同様) <VirtualHost _default_:443> ServerName "Sample1" DocumentRoot "/Users/user_name/Sites/Sample1" SSLEngine on SSLCertificateFile "/usr/local/etc/httpd/ssl/Sample1.pem" SSLCertificateKeyFile "/usr/local/etc/httpd/ssl/Sample1-key.pem" <Directory "/Users/user_name/Sites/Sample1"> Options FollowSymLinks AllowOverride all Require all granted </Directory> </VirtualHost>
SSLでエラーが出ると、http://〜の接続でもエラーが出るようになります。
httpd.confの下記2行を再びコメントアウトすれば、http://〜では接続できるようになります。
# LoadModule ssl_module lib/httpd/modules/mod_ssl.so # Include /usr/local/etc/httpd/extra/httpd-ssl.conf
以上です。
ミスのご指摘、アドバイスをお願いいたします。
自分はデザイン系であまり詳しくはありません。
Macは最初からApacheが標準インストールされているのですがOSのアップグレードで環境が吹っ飛んでしまったので、クリーンインストールしてHomebrewでhttpdをインストールし、環境を再構築しているところです。
回答1件
あなたの回答
tips
プレビュー