我有一个由 Google Compute Engine 托管的网页,安装了 Apache 2.4。我可以通过例如http://1.2.3.4/
ok 访问该页面。现在我想启用 SSL。我已遵循两个类似的教程这里和这里。总结一下我所做的:
- 创建证书
.crt
和密钥.key
文件。 - 编辑文件,
/etc/apache2/sites-available/default-ssl.conf
更改ServerName
为1.2.3.4
,然后将SSLCertificateFile
和更改SSLCertificateKeyFile
为步骤 1 中的证书和密钥文件。 /etc/apache2/sites-available/000-default.conf
编辑块中的文件<VirtualHost *:80>
,使其ServerName
与 IP 相同,然后复制该块,但使用不同的端口<VirtualHost *:443>
- 使用此命令允许防火墙中的 Apache 配置文件
sudo ufw allow 'Apache Full'
- 使用 启用 ssl mod
sudo a2enmod ssl
,然后使用 启用配置sudo a2ensite default-ssl.conf
- 重启服务器
sudo service apache2 restart
在 Chrome 中,当我访问https://1.2.3.4/
或 时https://1.2.3.4:443/
,它会显示类似以下内容:
此网站无法提供安全连接
1.2.3.4 发送了无效的响应。
尝试运行 Windows 网络诊断。
SSL协议错误
000-default.conf
这是我的文件的内容:
<VirtualHost *:80>
ServerName 1.2.3.4
ServerAdmin webmaster@localhost
DocumentRoot /home/usename/mypage
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerName 1.2.3.4
ServerAdmin webmaster@localhost
DocumentRoot /home/usename/mypage
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
访问http
链接仍然正常(我没有将 HTTP 流量重定向到 HTTPS)。如何让 https 正常工作?(我的 Google Compute Engine 是 Ubuntu 18.04.3)