diff --git a/modules/nixos/services/networking/default.nix b/modules/nixos/services/networking/default.nix index 6baf5e0..ed423ef 100644 --- a/modules/nixos/services/networking/default.nix +++ b/modules/nixos/services/networking/default.nix @@ -27,7 +27,7 @@ in { websocket = mkOpt (submodule { options = { enable = mkBoolOpt false "Whether to enable websocket endpoints for the service."; - path = mkOpt str "/ws/" "WebSocket path prefix for the service."; + path = mkOpt str "/ws" "WebSocket path prefix for the service."; }; }) {} "WebSocket configuration for the service."; }; diff --git a/modules/nixos/services/networking/httpd/default.nix b/modules/nixos/services/networking/httpd/default.nix index 7b36a35..c220d37 100644 --- a/modules/nixos/services/networking/httpd/default.nix +++ b/modules/nixos/services/networking/httpd/default.nix @@ -72,8 +72,9 @@ websocketConfig = optionalString service.websocket.enable '' # --- ${name} (websocket access) --- - ProxyPass ${service.websocket.path} ws://${hostIP}:${p}${service.websocket.path} connectiontimeout=30 timeout=300 retry=0 - ProxyPassReverse ${service.websocket.path} ws://${hostIP}:${p}${service.websocket.path} + RewriteCond %{HTTP:Connection} upgrade [NC] + RewriteCond %{HTTP:Upgrade} websocket [NC] + RewriteRule ^/(.*)$ ws://${hostIP}:${p}${service.websocket.path}/$1 [P,L] ''; in {