我在 Google Cloud Platform 的 Compute Engine 上使用 Ubuntu 23.10 为客户设置了一个 UAT 站点,并允许 HTTP 和 HTTPS 防火墙。DNS 在 Cloudflare,使用免费计划。
<VirtualHost *:80>
ServerName mydomain.co.in
ServerAlias mydomain.co.in
ServerAdmin [email protected]
DocumentRoot /home/info/mydomain
<Directory "/home/info/mydomain">
Order allow,deny
Allow from all
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerName mydomain.co.in
ServerAlias mydomain.co.in
ServerAdmin [email protected]
DocumentRoot /home/info/mydomain
<Directory "/home/info/mydomain">
Order allow,deny
Allow from all
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
但不知何故,该网站正在使用 https。我没有做任何与 pem 文件、certbots 等相关的事情。
是的,https 加载正常,甚至没有显示警告。这是怎么可能的?
奇怪的是,该证书显示的是根域,而不是我为服务器配置的子域:
答案1
看起来您在 Cloudflare 中将网站的 SSL/TLS 加密模式设置为灵活。使用此选项,https 不是由 Google Cloud Platform 处理,而是由 Cloudflare 处理。
引自官方Cloudflare 灵活 - SSL/TLS 加密模式文档:
将加密模式设置为灵活可使您的网站部分安全。Cloudflare 允许您的访问者与 Cloudflare 之间建立 HTTPS 连接,但 Cloudflare 与您的源站之间的所有连接均通过 HTTP 建立。因此,您的源站不需要 SSL 证书。
打开您的帐户,打开域名并转到SSL/TLS。您可以在那里检查设置。它应该看起来像这样:
如果您想知道为什么您的证书是由 Google Trust Services LLC 颁发的,请检查以下内容: