国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

解決 This request has been blocked; this endpoint must be available over WSS.

這篇具有很好參考價值的文章主要介紹了解決 This request has been blocked; this endpoint must be available over WSS.。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

1、問題

使用WebSocket在本地是沒有問題的,能夠和前端進(jìn)行正常交互,但是將項(xiàng)目部署到服務(wù)器上,發(fā)現(xiàn)和前端建立不了WebSocket的連接,打開瀏覽器控制臺報錯:This request has been blocked; this endpoint must be available over WSS.

2、理解

1、首先我們要明白 wss協(xié)議實(shí)際是websocket+SSL,就是在websocket協(xié)議上加入SSL層,類似https(http+SSL)。

2、利用nginx代理wss【通訊原理及流程】

(1)、客戶端發(fā)起wss連接連到nginx

(2)、nginx將wss協(xié)議的數(shù)據(jù)轉(zhuǎn)換成ws協(xié)議數(shù)據(jù)并轉(zhuǎn)發(fā)到Workerman的websocket協(xié)議端口

(3)、Workerman收到數(shù)據(jù)后做業(yè)務(wù)邏輯處理

(4)、Workerman給客戶端發(fā)送消息時,則是相反的過程,數(shù)據(jù)經(jīng)過nginx/轉(zhuǎn)換成wss協(xié)議然后發(fā)給客戶端

3、關(guān)于 ws 和 wss

WebSocket可以使用 ws 或 wss 來作為統(tǒng)一資源標(biāo)志符,類似于 HTTP 或 HTTPS。其中 ,wss 表示在 TLS 之上的 WebSocket,相當(dāng)于 HTTPS。默認(rèn)情況下,WebSocket的 ws 協(xié)議基于Http的 80 端口;當(dāng)運(yùn)行在TLS之上時,wss 協(xié)議默認(rèn)是基于Http的 443 端口。說白了,wss 就是 ws 基于 SSL 的安全傳輸,與 HTTPS 一樣樣的道理。所以,如果你的網(wǎng)站是 HTTPS 協(xié)議的,那你就不能使用 ws:// 了,瀏覽器會 block 掉連接,和 HTTPS 下不允許 HTTP 請求一樣。

4、解決

前提,服務(wù)器已經(jīng)配置好了Nginx。如果沒有配置的可以去網(wǎng)上搜索,很多資料的。如果找不到資料的小伙伴可以看文章的最后,我會把我的nginx配置貼出來。

在前端將:ws:// 修改為:wss://即可,同時,后面不要跟IP地址加端口,要使用網(wǎng)站的域名,例如:

本地websocket鏈接:ws://192.168.0.46:8781/tf/webSocket/huozhu20220819
> 
那么更新到哦服務(wù)器的時候,鏈接應(yīng)該修改為:wss://網(wǎng)站域名/tf/webSocket/huozhu20220819

注意:這里直接使用域名是在Nginx做了代理,可以根據(jù)url自動匹配到對應(yīng)的IP地址+端口

5、Nginx配置

server
{
    listen 80;
    listen 443 ssl;
    server_name 域名;
 
    ssl on;
    ssl_certificate 證書.crt;
    ssl_certificate_key 證書.key;
    ssl_session_timeout 5m;
    ssl_session_cache shared:SSL:50m;
    ssl_protocols SSLv3 SSLv2 TLSv1 TLSv1.1 TLSv1.2; #按照這個協(xié)議配置
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_prefer_server_ciphers on;
    
    location /wss/  {   
     proxy_pass http://127.0.0.1:82/;        #通過配置端口指向部署websocker的項(xiàng)目
     proxy_http_version 1.1;    
     proxy_set_header Upgrade $http_upgrade;    
     proxy_set_header Connection "Upgrade";    
     proxy_set_header X-real-ip $remote_addr;
     proxy_set_header X-Forwarded-For $remote_addr;
     }
}

感謝:
1、https://www.jianshu.com/p/581d4b777615
2、https://blog.csdn.net/qq_35808136/article/details/89677749文章來源地址http://www.zghlxwxcb.cn/news/detail-408698.html

到了這里,關(guān)于解決 This request has been blocked; this endpoint must be available over WSS.的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SpringBoot 調(diào)用錯:getWriter() has already been called for this response

    這個錯誤通常表明您嘗試從 Spring MVC 返回一個已使用的 HttpServletResponse 對象。 原因:這可能是由于直接調(diào)用 HttpServletResponse 的 getWriter() 或 getOutputStream() 方法,或者由于在控制器方法中拋出異常而自動調(diào)用 HttpServletResponse 的 write() 方法。 修改建議:您可以確保在控制器方法中

    2024年01月16日
    瀏覽(32)
  • Git報錯fatal: this operation must be run in a work tree

    Git報錯fatal: this operation must be run in a work tree

    學(xué)習(xí)git在初始化倉庫后查看git狀態(tài)是報錯fatal: this operation must be run in a work tree: 提示:這里描述項(xiàng)目中: 使用git init --bare 進(jìn)行建立裸倉庫之后,在使用git 其它的命令都會出現(xiàn)fatal:This operation must be run in a work tree 問題,處理方法: 解決方法:在該倉庫目錄下,新建文件夾,

    2024年02月11日
    瀏覽(22)
  • java.lang.IllegalStateException: Illegal access: this web application instance has been stopped

    java.lang.IllegalStateException: Illegal access: this web application instance has been stopped

    java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already.? Could not load [org.apache.logging.log4j.core.impl.Log4jLogEvent$Builder]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access. 部署web項(xiàng)目出現(xiàn)在這個問題,其

    2024年02月16日
    瀏覽(17)
  • [ This request has no response data available問題 ]

    目錄 前言: 提示背景: 問題導(dǎo)致情況: 跨域設(shè)置: Canceled ? ?摸魚來了 ?接口響應(yīng)200 response返回提示:This request has no response data available 1: 確定是否是跨域引起, 一般情如果有跨域會報跨域錯誤。報無響應(yīng)的比較少。 2:?瀏覽器端的代碼問題了,然后發(fā)現(xiàn)問題請求的代碼執(zhí)行后,緊

    2024年02月15日
    瀏覽(54)
  • 關(guān)于wb.write(response.getOutputStream()); 報錯getOutputStream() has already been called for this respons

    如果你在使用 response.getOutputStream() 方法時出現(xiàn) getOutputStream() has already been called for this response 錯誤,通常是由于多次嘗試獲取輸出流所導(dǎo)致的。 在一個 HTTP 響應(yīng)中,只能獲取一次輸出流,否則就會拋出上述錯誤。這是因?yàn)楂@取輸出流時實(shí)際上已經(jīng)開始了 HTTP 響應(yīng)的正文部分,

    2024年02月05日
    瀏覽(23)
  • ◎ 增量更新jar包,報錯問題(It has been compressed and nested jar files must be stored without compression)

    報錯信息 我們在增量更新jar時,有新增的依賴包。重新打包之后,報錯: It has been compressed and nested jar files must be stored without compression.Please check the mechanism userd to create your executable jar file. 報錯原因 這個報錯的大致意思是:它已經(jīng)被壓縮,嵌套的jar文件必須在沒有壓縮的情況下

    2024年02月08日
    瀏覽(14)
  • Maven啟動報錯 - No goals have been specified for this build.You must specify a valid lifecycle phase

    Maven啟動報錯 - No goals have been specified for this build.You must specify a valid lifecycle phase

    在對Maven項(xiàng)目進(jìn)行Build / 初始化時? 可能會出現(xiàn)下圖這種情況: ? 原因: 缺少了一個指定的goal,需要在項(xiàng)目的pom.xml文件中添加一項(xiàng)goal數(shù)據(jù)。 解決辦法: 在安裝目錄下找到lib/model-builder-3.6.0.jar選擇使用壓縮包打開 根據(jù)這個目錄META-INF——maven——org.apache.maven——maven-model-

    2024年02月06日
    瀏覽(19)
  • axios/ajax 請求頭部添加自定義字段報錯(has been blocked by CORS policy: Request header field authorization is ...

    這個錯誤是由于瀏覽器的安全機(jī)制所引起的,即跨域資源共享(CORS)策略。當(dāng)瀏覽器發(fā)現(xiàn)一個跨域請求時,會發(fā)送一個預(yù)檢請求(Preflight Request)來確認(rèn)服務(wù)器是否允許跨域請求。在預(yù)檢請求中,瀏覽器會檢查請求頭中的字段是否被服務(wù)器允許。如果請求頭中包含了服務(wù)器不

    2024年02月16日
    瀏覽(25)
  • 前端報錯:has been blocked by CORS policy: Response to preflight request doesn‘t pass access control chec

    前端報錯:has been blocked by CORS policy: Response to preflight request doesn‘t pass access control chec

    Access?to?XMLHttpRequest?at?\\\'https://zxxxx.com/\\\'?from?origin?\\\'http://zxxxx.com\\\'?has?been?blocked?by?CORS?policy:?Response?to?preflight?request?doesn\\\'t?pass?access?control?check:?It?does?not?have?HTTP?ok?status. 如果后端已經(jīng)設(shè)置了跨域,那就是預(yù)檢跨域請求問題; 如果后端沒有設(shè)置跨域信息,則是跨域

    2024年02月02日
    瀏覽(19)
  • has been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘ header is present on the requested

    has been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘ header is present on the requested

    ?Access to XMLHttpRequest at \\\'http://xxx/user/getAll/1/1\\\' from origin \\\'http://127.0.0.1:8080\\\' has been blocked by CORS policy: No \\\'Access-Control-Allow-Origin\\\' header is present on the requested resource. 網(wǎng)上找到一個方法: 大概就是, chrome安全策略的原因,chrome 禁止跨域策略(CORS policy) ? 新建一個?禁止cors跨域相關(guān)的策

    2024年01月23日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包