修改.env的配置文件中的如下变量
NUXT_PUBLIC_BASE_APIURL=/api #配置nginx反向代理
NUXT_PUBLIC_BASE_SOCKETURL=wss://[your domain]/socket.io #与nginx配置中的域名前缀对应即可
.env文件上传到linux后,会被自动隐藏无法通过finalshell直接编辑,可以在先本地编辑好后上传替换!
apt install nginx #安装nginx
新建一个文件名为easyai-proxy.conf,用记事本打开,复制如下内容,实现的代理规则如下:
- 代理/api的请求到3001
- 代理socket.io的请求到3002
- 代理chatapi二级域名的请求到3000
- 代理主域名的请求到3010
注意!一定要将配置文件中示例域名51easyai.com替换为你的域名!
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name 51easyai.com www.51easyai.com;
location / {
proxy_pass http://127.0.0.1:3010/;
proxy_redirect http://$host/ http://$http_host/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
}
location /api/ {
proxy_pass http://127.0.0.1:3001/;
proxy_read_timeout 1200s;
client_max_body_size 100M;
proxy_redirect http://$host/ http://$http_host/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
}
location /socket.io {
proxy_pass http://127.0.0.1:3002;
proxy_read_timeout 300s;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
server {
listen 80;
server_name chatapi.51easyai.com;
location / {
client_max_body_size 64m;
proxy_http_version 1.1;
proxy_pass http://127.0.0.1:3000; # 请根据实际情况修改你的端口
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_cache_bypass $http_upgrade;
proxy_set_header Accept-Encoding gzip;
proxy_read_timeout 300s; # GPT-4 需要较长的超时时间,请自行调整
}
}
利用finalshell将easyai-proxy.conf上传到/etc/nginx/conf.d目录中

重载Nginx配置文件
阿里云:安全组放行80和443端口

将域名解析到对应的服务器IP地址。登录你申请域名的平台,将域名解析到服务器的IP地址。以阿里云为例:
添加两条解析记录,主机记录www,即域名访问www.域名,将会指向到你的服务器IP地址

主机记录@,即域名直接访问域名(不带www),也会指向到你的服务器IP地址

安装certbot
sudo apt update
sudo apt install certbot #安装certbot
sudo apt install python3-certbot-nginx # 如果你使用 Nginx
获取证书: 使用 Certbot 自动获取并安装证书(以 Nginx 为例):
如果使用宝塔面板,nginx配置文件不在默认目录,使用如下命令
sudo certbot --nginx --nginx-server-root /www/server/nginx/conf/ #/www/server/nginx/conf/是宝塔面板默认的nginx配置文件目录
恭喜你!成功开启https访问,访问https://<你的域名>开始体验吧!
Certbot 会默认自动续期证书。