私はウェブ開発者なので、自分のコンピュータにローカルにたくさんのウェブサイトを持っています。HTTPS 経由でアクセスできるように設定しようとしています。
これは私のhttp設定のvhostsセクションです
<VirtualHost *:80>
ServerName test.local
ServerAlias *.local
VirtualDocumentRoot /home/jonathan/Sites/%-2/public_html
CustomLog /home/jonathan/Sites/access.log vhost_combined
ErrorLog /home/jonathan/Sites/error.log
</VirtualHost>
<VirtualHost *:443>
ServerName test.local
ServerAlias *.local
VirtualDocumentRoot /home/jonathan/Sites/%-2/public_html
CustomLog /home/jonathan/Sites/access.log vhost_combined
ErrorLog /home/jonathan/Sites/error.log
SSLEngine On
SSLCertificateFile /home/jonathan/Sites/public.cert
SSLCertificateKeyFile /home/jonathan/Sites/private.key
</VirtualHost>
これは、私が に行くとからhttp://dotjs.local
サービスを受けるので機能すると思います。index.html
/home/jonathan/Sites/dotjs/public_html/
に行くとhttps://dotjs.local
警告が表示されますが、それを無視しても同じファイルが提供されます。
証明書が機能しない問題が発生しています。
私は(これ)をフォローしました[https://blog.celogeek.com/201209/209/how-to-create-a-self-signed-wildcard-certificate/]証明書を作成するためのガイドですが、vhosts 構成に従ってファイルに public.cert と private.key という名前を付けました。
次のコマンドで証明書を作成する場合:openssl req -new -x509 -nodes -sha1 -days 3650 -key private.key > public.cert
次のように入力しました(個人情報の一部は隠しています)。
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:GB
State or Province Name (full name) [Some-State]:{My county}
Locality Name (eg, city) []:{My city}
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Blar
Organizational Unit Name (eg, section) []:Blar
Common Name (e.g. server FQDN or YOUR name) []:*.local
Email Address []:{My email address}