2025年5月1日 星期四

讓 Apache 反向代理 WebSocket 或遊戲伺服器請求

ee /usr/local/etc/apache24/httpd.conf

加入

    # --- 開始新增反向代理設定 ---

    # Proxy for HTTP requests to game server
    ProxyPass "/game/" "http://localhost:3000/"
    ProxyPassReverse "/game/" "http://localhost:3000/"

    # Proxy for WebSocket connections (Socket.IO)
    ProxyPass "/socket.io/" "http://localhost:3000/socket.io/"
    ProxyPassReverse "/socket.io/" "http://localhost:3000/socket.io/"

並將以下三列取消註解

LoadModule proxy_module libexec/apache24/mod_proxy.so
LoadModule proxy_http_module libexec/apache24/mod_proxy_http.so
LoadModule proxy_wstunnel_module libexec/apache24/mod_proxy_wstunnel.so

重新啟動

service apache24 restart

可以達成目標

只有使用者瀏覽 http://yourdomain.com/game/ 時,請求才會被轉發到你的遊戲伺服器(例如 Node.js)。

其他請求(例如首頁 http://yourdomain.com/ 或 /about.html)仍由 Apache 原本處理的靜態網頁提供。



沒有留言:

張貼留言