我正在尝试为 ssl 配置 apache 虚拟主机。
我的网站配置文件
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName mywebsite.com
ServerAlias www.mywebsite.com
DocumentRoot /opt/tomcat/webapps/mywebsite
<Directory /opt/tomcat/webapps/mywebsite>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined[L,NE,R=permanent]
</VirtualHost>
我的网站-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName mywebsite.com
ServerAlias www.mywebsite.com
DocumentRoot /opt/tomcat/webapps/mywebsite
<Directory /opt/tomcat/webapps/mywebsite>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /certs/mywebsite_ssl_certificate.crt
SSLCertificateKeyFile /certs/_.mywebsite_private_key.key
SSLCertificateChainFile /certs/_.mywebsite_ssl_certificate_INTERMEDIATE.crt
</VirtualHost>
</IfModule>
我使用命令启用了两个站点a2ensite
。
并禁用所有其他站点。
并且 mod ssl 也已启用。
/etc/hosts
文件如下所示:
# nameserver config
# IPv4
127.0.0.1 localhost
127.0.0.1 mywebsite.com
#
# IPv6
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
如果我尝试访问http://mywebsite.com通过浏览器我可以看到我的应用程序。但如果我尝试访问https://mywebsite.com通过浏览器,出现错误:
无法访问此网站 网址为: 的网页可能暂时无法访问,或已永久移至新网址
我需要帮助,我的配置中可能存在错误。
答案1
您的配置似乎没有问题。但是,Apache 似乎没有监听 443 端口。
您可能需要通过将以下内容添加到配置文件来指示 Apache 监听该端口。
Listen 443
该线应存在于<VirtualHost>
标签之外。
您可以通过将其添加到文件顶部mywebsite-ssl.conf
或为其提供独立的配置文件来轻松尝试它。
如果您使用的是 Apache 2.4:
echo "Listen 443" | sudo tee /etc/apache2/conf-available/ssl-port.conf
sudo a2enconf ssl-port
# I'm not sure if graceful will be enough here
# you may need to fully restart the apache2 service
sudo apache2ctl restart