這在測驗應用程式時有效。當我將 DNS 切換到服務器然后添加 SSL 證書時,signalR 停止作業(我的聊天)。我認為這與現在重定向到埠 443 的代理有關。網站的其余部分可以正常作業,只是不是它的聊天功能。
Firefox can’t establish a connection to the server at wss://www.my-website.com/chatHub?id=qDsSrV-APYXpnyk_EfsrXw. signalr.min.js:16:110126
Uncaught (in promise) Error: Server returned handshake error: Handshake was canceled.
和nginx中的配置:
server {
server_name www.my-website.com;
location / {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/www.my-website.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/www.my-website.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
}
server {
if ($host = www.my-website.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name www.my-website.com;
return 404; # managed by Certbot
}
任何有關讓 signalR 再次作業的幫助將不勝感激,謝謝。
uj5u.com熱心網友回復:
因此,事實證明,當 Certbot 編輯配置時,它添加了一個額外的不必要的}. 這就是破壞它的全部。配置已損壞并處于快取狀態。所以我通過 https:// 查看網站,但試圖在埠 80 上建立 websocket 連接,但由于不安全而失敗。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/445747.html
標籤:linux nginx .net-core 网络套接字 信号器
上一篇:嘗試在KubernetesBare-Metal上使用nginx-ingress-controller公開純TCP
