一键部署个人网页版chatGPT

Fork ChatGPT-Next-Web

ChatGPT-Next-Web 到自己的 Repository

一键部署到 Vercel

准备好 openAI Key,将自己的 ChatGPT-Next-Web Repository 部署到 Vercel

在 Porkbun 注册域名

TLD-List 上对比域名价格,在 porkbun,注册了最便宜的2刀/年的.xyz 域名。注意:注册成功后,关闭自动续费,因为第一年有优惠,第二年续费会变回 9刀。

关闭porkbun自动续费
关闭porkbun自动续费

在 Cloudflare 解析域名

在 Cloudflare 添加自己的域名

在Cloudflare 添加域名
在Cloudflare 添加域名

在 Porkbun 中替换 Cloudflare 的 servername

回到 Cloudflare 点击检查名称服务器,收到邮件则更改成功

在 Cloudflare 修改 DNS

vercel.app 因为被大量使用,自然而然被墙掉了, Vercel 官方提供了单独的 IP 和 CNAME 地址给大家,对于国内的用户来说,配置一下单独的解析,依然可以享受 Vercel 提供的服务。将 Vercel 提供的 IPcname 地址 添加到 DNS 记录里即可:

在 Vercel 配置域名

在 Vercel 项目设置中添加域名

解决 ERR_TOO_MANY_REDIRECTS 错误

当网站开启了 CloudFlare 服务,用户访问我们的网站时,其实访问的离用户比较近的 Cloudflare 服务器,Cloudflare 再代理用户请求我们的源服务器,以达到加速和保护源服务器的目的。Cloudflare 代理用户请求我们源服务器获取网页资源的过程叫回源。

Cloudflare 造成循环重定向的错误就出在了回源的过程中,造成这种错误的原因就是 http 和 https 之间的重定向。

Cloudflare 的 SSL 中有 4 个选项(如下),其中 关闭 就是不启用 SSL,通过 HTTP 协议访问网站。另外 3 种是通过 HTTPS 协议访问网站。

  • 灵活:当我们的源网站没有配置 HTTPS 支持时,启用这个选项,Cloudflare 会在回源的时候通过 HTTP 协议访问我们的网站。

  • 完全:当我们的源网站支持 HTTPS,但是 HTTPS 证书和域名不匹配或者是自签名证书时,Cloudflare 会通过 HTTPS 协议访问源网站,但不会验证证书,也就是说,即使我们的源网站提供的 HTTPS 证书不受浏览器信任,Cloudflare 也会通过 HTTPS 回源网站。

  • 完全(严格):当我们的源网站支持 HTTP ,并且证书有效时(未过期且受信任)。Cloudflare 会通过 HTTPS 协议访问源网站,并在每个请求过程中验证证书。

了解了上面各个设置的功能,我们来看一下 Cloudflare 的循环重定向问题是怎么出现的,在 Cloudflare 中开启了 SSL 后,访问网站时出现循环重定向需满足下面两个条件:

SSL 中设置了灵活,CDN 以 HTTP 协议回源网站。源网站支持 HTTPS,并且设置了通过 HTTP 协议访问时,自动跳转到 HTTPS 协议。

到这里,可能就有朋友发现问题了,我们访问 Cloudflare 的 CDN 服务器的时候,是通过 HTTPS 访问的,CDN 访问源网站的时候,是通过 HTTP 访问的,源网站上 HTTP 又自动跳转了 HTTPS,完美的一个循环重定向。重定向的次数多了,浏览器就报了 ERR_TOO_MANY_REDIRECTS 错误。

知道了循环重定向的原因,我们也就知道了怎么解决这个问题,通过测试,下面的两种设置方法都可以解决 Cloudflare 循环重定向的问题。

  • SSL 中选择 完全 或者 完全(严格),让 CDN 回源的时候使用 HTTPS 的方式回源,没有 HTTP 什么事了,就不会跳来跳去了。

  • 源网站不设置 HTTPS 支持或者 不设置 HTTP 跳转 HTTPS,让 Cloudflare 回源的时候使用 HTTP 方式获取资源。

这里采用第一种方法,修改 Cloudflare SSL 设置为完全模式。在修改了 CloudFlare 设置后,可能需要过几分钟或清理浏览器缓存后才能生效。

除了 Cloudflare,使用其他 CDN 提供商的时候,也可能会出现这个问题,如果设置了 CDN 后,遇到了 Chrome 报重定向次数过多的问题,可以通过上面的思路查找问题。如果你在使用其他 CDN 的时候也遇到了类似的问题。

Subscribe to harichen
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.