[程式開發日記] 在Apache中設定SignalR反代理的範例 | Websocket, ProxyReverse

這篇記錄一下Apache與SignalR的反代理設定
不然下一次可能又會忘記

前端: SignalR套件
後端: ASP.NET Core
代理伺服器: Apache
OS: Ubuntu 20.04

第一段代碼是判斷是否Protocol升級

第二段是反代理設定
記得使用http而不是ws
然後網址路徑就是看程式怎麼設定
第一個參數是要判斷的路徑
第二個參數是要導向的路徑

RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://127.0.0.1:8080/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule /(.*) http://127.0.0.1:8080/$1 [P,L]

ProxyRequests off
ProxyPass "/ws" "http://127.0.0.1:8080/ws"
ProxyPassReverse "/ws" "http://127.0.0.1:8080/ws"
ProxyPreserveHost on

留言