我有一个网站,我为它设置了一个VHost。我需要HTTP和HTTPS。虽然HTTP似乎运行良好,但每当我访问HTTPS功能时,我都会收到"Safari无法打开服务器"的消息。我怀疑问题出在http_vhosts.conf文件上。以下是有关网站的条目。可能出了什么问题?
<Virtualhost *:80>
VirtualDocumentRoot "/Users/xxx/www/sites/xxxxxx"
ServerName http://xxxxxx.dev
ServerAlias xxxxxx.dev
UseCanonicalName on
<Directory "/Users/xxx/www/sites/xxxxxx">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</Virtualhost>
<Virtualhost *:443>
VirtualDocumentRoot "/Users/xxx/www/sites/xxxxxx"
ServerName https://xxxxxx.dev
ServerAlias https://xxxxxx.dev
UseCanonicalName off
<Directory "/Users/xxx/www/sites/xxxxxx">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</Virtualhost>
您需要添加一个证书:
<Virtualhost *:443>
VirtualDocumentRoot "/Users/xxx/www/sites/xxxxxx"
ServerName https://xxxxxx.dev
ServerAlias https://xxxxxx.dev
UseCanonicalName off
<Directory "/Users/xxx/www/sites/xxxxxx">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
</Virtualhost>
要创建您的自签名证书,您可以使用以下命令:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
顺便说一句,如果你的SeverAlias与你的ServerName相同,你可以删除ServerAlias,这不需要