在群里看到朋友发GPT相关的内容,自己也想上去看看,结果显示账号登录异常,被退出了登录,之前也有发生过类似的情况,就开始动手排查。

首先是更换VPN测试,换了另一家付费的VPN之后登陆成功,测试一切功能正常,排除OpenAI官方服务器不可访达的可能,之后进入小火箭测试连通性,显示超时,判断RNVPN服务异常,开始正式排查。

因为我中午还刚刚使用过自己的VPN,所以判断发生时间应该是下午左右,首先登录服务器,发现正常登录,也可以Ping通,排除服务器厂商跑路、被墙的可能性;进入x-ui后台面板,发现面板正常运行中,排除x-ui意外关闭的可能性;

尝试访问自己设置的伪装站点,Cloudflare报错Error Code:521,判断Host出现问题,且同时尝试登录x-ui面板前台返回404 page not found;初步认定nginx服务出现问题(判断原因:服务器正常运行,服务却无法访达,判断路由出现问题)

使用

systemctl status nginx

命令检查nginx服务状态
返回:

nginx.service - nginx - high performance web server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: inactive (dead)
       Docs: https://nginx.org/en/docs/

发现nginx状态为非活跃,确认判断原因为nginx服务未启动,尝试重新启动nginx服务

systemctl start nginx

返回:

Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xe" for details.

nginx服务启动失败,再次使用

systemctl status nginx

命令,查看启动日志,返回:

nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) Mar 22

确定nginx服务启动失败原因为本机80端口已被占用,80端口是我的伪装站点监听的端口,目前服务尚未停止,但考虑到盲目停止服务会引发连锁问题,所以选择修改nginx的配置文件进行解决。

进入/etc/nginx/nginx.conf 修改文件内容

http {

 server {
    listen 80 default_server;
    listen [::]:80 default_server;

   ssl_protocols         TLSv1.2 TLSv1.3;
   ssl_ciphers           ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
   ssl_prefer_server_ciphers off;

将listen 80端口改成其他尚未被占用的端口,保存退出,重新启动nginx服务。

nginx服务成功启动,所有线上环境已恢复正常,VPN连接恢复正常。

本次排查用时:30min,问题记录首次出现,故此记录。

2024/3/22 18:50
RNVPN Tech Group :Yif

聊天室