Websocket error

前端使用 React 開發
利用 restful API 來串接資料庫的部分
在本機開發的時候不會有 websocket 連接
但放到 server 上就會跑出來
而且會有 http error 400 的錯誤
妙的是 Connecting 居然是 Upgrade

網路上搜尋到分別有 ApacheNginx 的解法
我是參考 fuatsengul 說的這部分去做設定的


     ServerName mysite.com
     ServerAlias www.mysite.com

     SSLEngine on
     SSLProxyEngine On
     ProxyRequests Off

     SSLCertificateFile /etc/apache2/ssl/mysite.com.crt
     SSLCertificateKeyFile /etc/apache2/ssl/mysite.com.key
     SSLCertificateChainFile /etc/apache2/ssl/ca.cer

     DocumentRoot /var/www/errorPages

     ErrorDocument 503 /503.html
     ProxyPass /503.html !

     ProxyPass / http://localhost:3999/
     ProxyPassReverse / http://localhost:3999/


RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
RewriteRule .* ws://localhost:3999%{REQUEST_URI} [P]



主要是紅色區塊那部分
前面那兩行 ProxyPass & ProxyPassReverse 我本來就有加
主要是將 port 3000 導到 port 80

加上紅色區塊後(需要依照自己主機設定修改)
連線就正常了
如下圖



Comments

Popular posts from this blog

CentOS7 如何新增/移除 Rich Rule for firewalld

mac 安裝 mtr

Howto use Postman test Cors