# 一键部署个人网页版chatGPT

By [harichen](https://paragraph.com/@harichen-2) · 2023-04-04

---

Fork ChatGPT-Next-Web
---------------------

[ChatGPT-Next-Web](https://github.com/Yidadaa/ChatGPT-Next-Web#%E4%BF%9D%E6%8C%81%E6%9B%B4%E6%96%B0-keep-updated) 到自己的 Repository

一键部署到 Vercel
------------

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

在 Porkbun 注册域名
--------------

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

关闭porkbun自动续费

在 Cloudflare 解析域名
-----------------

在 Cloudflare 添加自己的域名

在Cloudflare 添加域名

在 Porkbun 中替换 Cloudflare 的 servername
-------------------------------------

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

在 Cloudflare 修改 DNS
-------------------

vercel.app 因为被大量使用，自然而然被墙掉了， Vercel 官方提供了单独的 IP 和 CNAME 地址给大家，对于国内的用户来说，配置一下单独的解析，依然可以享受 Vercel 提供的服务。将 Vercel 提供的 **IP** 和 **cname 地址** 添加到 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 的时候也遇到了类似的问题。

---

*Originally published on [harichen](https://paragraph.com/@harichen-2/chatgpt)*
