确认 CloudFlare 和源服务器之间的流量已加密

Confirm Traffic between CloudFlare and origin server is encrypted

我正在寻找一种方法来确认源服务器和 CloudFlare CDN 之间的流量是使用 HTTPS 加密的。

我在源服务器和 CloudFlare CDN 上安装了 Let's Encrypt SSL 证书,我安装了 CloudFlare 的通用免费生成的 SSL 证书。

启用缓存后,浏览器会看到 CloudFlare SSL 证书。停用缓存后,浏览器会看到 Let's Encrypt SSL 证书。所以这两个证书都工作正常。但是激活缓存后,我实际上看不到源和 CDN 之间发生了什么。

在 CloudFlare 中,我激活了完全(严格)SSL。表面上这意味着 traffic is encrypted between the origin and CDN但是有没有办法独立地确认这一点?

我知道的一种方法是在源头使用Netstat 来检查哪个端口正在占用流量。已安装 Netstat,但我没有根 SSH 访问权限。 ss 未安装。我确实安装了 Python 并且能够执行 Hello World python 脚本。我没有安装 Java。 wget 有效并且可以下载文件。 还有其他方法吗?

假设使用 Apache,修改您的 VirtualHost,添加一个条目来检查和修改您的日志。

这是一个答案,https://serverfault.com/a/359482/266552


方案二,记录端口

这是同一个话题的回答,https://serverfault.com/a/665620/266552


选项 3,将所有 HTTP 请求重定向到 HTTPS。


选项 3a,您可以使用 mod_rewrite:

RewriteEngine On
# This will enable the Rewrite capabilities

RewriteCond %{HTTPS} !=on
# This checks to make sure the connection is not already HTTPS

RewriteRule ^/?(.*) https://%{SERVER_NAME}/ [R,L]
# This rule will redirect users from their original location, to the same location but using HTTPS.
# i.e.  http://www.example.com/foo/ to https://www.example.com/foo/
# The leading slash is made optional so that this will work either in httpd.conf
# or .htaccess context

https://wiki.apache.org/httpd/RewriteHTTPToHTTPS


选项 3b,没有 mod_rewrite 的备选方案:

<VirtualHost *:80>
   ServerName mysite.example.com
   DocumentRoot /usr/local/apache2/htdocs
   Redirect permanent / https://example.com/
</VirtualHost>
<VirtualHost _default_:443>
   ServerName mysite.example.com
   DocumentRoot /usr/local/apache2/htdocs
   SSLEngine On
   # etc...
</VirtualHost>

#etc... 替换为您的其余配置。

https://wiki.apache.org/httpd/RedirectSSL