Apache 配置虚拟主机 SSL 证书。无法访问此站点

Apache 配置虚拟主机 SSL 证书。无法访问此站点

我正在尝试为 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 

相关内容