我目前通过 1and1(我购买域名的地方)开设了在线商店,我们的后端托管在使用 Nginx 的 Linux 云服务器上。我们使用 Cloudflare 的基本版本作为前端。
现在,当我们使用“通配符” SSL 证书 (GeoTrust) 转换为 https 时,我们无法使重定向与 CloudFlare CDN 配合使用。我曾与 1and1 支持部门合作,但我们尚未找到解决方案。我希望 Cloudflare 方面的人能够提供帮助,但目前还没有回复。
从1and1(GeoTrust)购买了SSL证书,并在nginx配置中进行了以下配置
listen 443 ssl;
server_name abc.com;
ssl_certificate /etc/nginx/ssl/abc.com_ssl_certificate.cer;
ssl_certificate_key /etc/nginx/ssl/*.abc.com_private_key.key;
网站适用于以下条件
- HTTP --> Cloudflare-->1and1-->Nginx(托管在云服务器中)
- HTTPS-->1and1-->Nginx(托管在云服务器中)
网站无法运行
- HTTPS-->Cloudflare-->1and1-->Nginx(托管在云服务器中)
答案1
您所描述的情况听起来像是重定向循环问题。默认情况下,cloudflare 通过 HTTP 连接到您的服务器,然后将其重定向到 HTTPS。请注意,cloudflare 不会不是自动通过 HTTPS 连接到您的服务器,即使客户端通过 cloudflare 请求 HTTPS 站点。
为了使其始终通过 HTTPS 连接,请将“加密”下的“SSL”设置更改为“完整”或“完整(严格)”。
此外,如果您根本不使用 HTTP,您也可以启用“始终使用 HTTPS”,这样 Cloudflare 就会进行重定向,否则 Cloudflare 可能会通过 HTTPS 连接到您的服务器,但使用 HTTP 建立 Cloudflare 本身与客户端之间的连接。
有关其工作原理的更多信息,请参阅https://support.cloudflare.com/hc/en-us/articles/200170416-What-do-the-SSL-options-mean-