博主有个项目需要使用了SignalR需要使用https 进行连接,于是乎就顺手拿起了https://1panel.cn/ 一顿操作,最后开启了客服端进行连接,然后发现有的时候可以连接,但是接收不到消息也发送不了消息,有的时候连连接都连接不上。

于是乎我发现了,事情可能并不这么简单,秉承着虽然我不会配置,但是我会查资料的原则(其实直接问的chatgpt)拿到了配置方式。

顺带记录一下,水一篇文章

首先你需要在你的1panel管理后台网站配置页,找到你需要设置的域名,点击配置。

Snipaste_2024-11-02_15-22-33.png

进入到配置页面后点击配置文件

Snipaste_2024-11-02_15-24-23.png

在原有的配置文件中找到如下位置

    location ^~ /.well-known/acme-challenge {
        allow all; 
        root /usr/share/nginx/html; 
    }

在其上方添加如下配置

# 匹配所有以 /hub 开头的路径
location ~ ^/hub/ {
   proxy_pass http://你的服务地址;
   proxy_set_header Upgrade $http_upgrade;  # 支持 WebSocket
   proxy_set_header Connection "upgrade";  # 支持 WebSocket
   proxy_set_header Host $host;  # 转发 Host 头
   proxy_set_header X-Real-IP $remote_addr;  # 转发客户端真实 IP
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  # 转发 X-Forwarded-For 头
   proxy_set_header X-Forwarded-Proto $scheme;  # 转发协议
}

完整配置如下图:

Snipaste_2024-11-02_15-36-50.png