在開始前,你需要了解這些知識#
- 在中國大陸境內域名提供商購買的域名,需要實名認證才能開啟 DNS 解析。而在國外域名提供商買的域名則不用。
- 指向中國大陸內的雲伺服器的域名提供的網站,必須備案才能正常被訪問。但是任何指向國外伺服器的域名卻可以不受此規則的限制。可以利用這一點,繞過 __ 的限制。
- Vercel 是一個無需雲伺服器即可快速部署現代 Web 應用程序的平台。
- vercel.app 本身是被牆了的網站,但是它的伺服器 IP 卻沒有被牆。可以利用這點,讓你的域名直接指向 Vercel 伺服器,從而訪問 Vercel 提供的服務。
- 此文章採用 Yidadaa/ChatGPT-Next-Web 來搭建 ChatGPT 網頁服務。
先決條件#
- OpenAI API 金鑰
- 一個域名
- 魔法(訪問 Vercel 時需要用到)
詳細步驟#
-
Fork Yidadaa/chatgpt-vercel 專案至你的 GitHub。
-
在 Vercel 新建一個專案,並選取你剛剛 Fork 的專案,點擊 Import 按鈕。
-
在 Environment Variables 中添加環境變量,然後點擊 Deploy 按鈕。
對於個人使用,添加
OPENAI_API_KEY
和CODE
就足夠了。CODE
可以設置多個密碼,但需以,
分割。圖中的123456,789012
代表的是123456
和789012
都是密碼。如果你想更詳細了解地此專案中的環境變量,請參考 ChatGPT-Next-Web 專案官方的 環境變量說明。
請特別關注:圖中截取的 API Key 並不完整且已經過處理,無法被直接使用。
-
現在,你的專案已經部署成功,試試看能不能訪問吧。
-
記得在 設置 -> 授權碼 填寫你在
CODE
環境變量中設置的密碼,否則將無法使用。我在這裡要求 ChatGPT 以特定的格式(HTML 代碼)幫我推薦漸變色。HTML 代碼經過 Typora 渲染,也能極大地提升內容的可讀性與直觀性。
-
綁定你的域名。點擊 Settings -> Domains,輸入待綁定的域名,然後點擊 Add 按鈕。
這裡以 test.nekoko.top 為例。
-
在你域名的 DNS 解析中添加 Vercel 的 CNAME 或者 A 記錄(二者任選其一即可)。
此處以 Cloudflare 為例。打開網址 dash.cloudflare.com 添加 DNS 記錄。
-
DNS -> 記錄 -> 添加記錄。添加 CNAME 記錄如下,並保存。
cname-china.vercel-dns.com
-
-
在瀏覽器打開綁定的域名,這裡以 test.nekoko.top 為例。
值得注意的是,如果瀏覽器地址欄提示不安全,請等待幾分鐘後再重新訪問,因為此時 Vercel 正在生成 SSL 證書,瀏覽器無法使用 HTTPS 連接。
在 Vercel 專案中的 Settings -> Domains 中,成功綁定好的域名應該是與下圖類似的。
-
在你並不能確保你訪問者會不會正當、適量使用你提供的服務時,請注意不要隨意分享你的網站,除非你足夠信任 TA。任何一點風吹草動都可能導致你的域名被牆。