博主有个项目需要使用了SignalR
需要使用https
进行连接,于是乎就顺手拿起了 https://1panel.cn/ 一顿操作,最后开启了客服端进行连接,然后发现有的时候可以连接,但是接收不到消息也发送不了消息,有的时候连连接都连接不上。
于是乎我发现了,事情可能并不这么简单,秉承着虽然我不会配置,但是我会查资料的原则(其实直接问的chatgpt
)拿到了配置方式。
顺带记录一下,水一篇文章
首先你需要在你的1panel
管理后台网站配置页,找到你需要设置的域名,点击配置。
进入到配置页面后点击配置文件
在原有的配置文件中找到如下位置
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; # 转发协议
}
完整配置如下图: