openvibers/openvibe.chat Commits

Chat: nginx refuses /internal/ and /metrics case-insensitively (#44)

OP OpenVibers committed 10 Oct 2026 · 791957ad57 · 1 file, +2 −2

nginx config only. Express routes case-insensitively, so a case variant such as `/Internal/events` or `/METRICS` slipped past the case-sensitive `location /internal/ { return 404; }` and `location = /metrics { return 404; }` blocks and reached the app. Those paths were still guarded in the app (the Events signature, the loopback check on metrics). Both blocks are now `location ~* ^/internal(/|$)` and `location ~* ^/metrics(/|$)`. The independent security reviews of 2026-10-09/10 found this in several services; this applies it network-wide.

Changes

ddiff --git a/deploy/nginx/openvibe.chat.conf b/deploy/nginx/openvibe.chat.conf
iindex d3edb79..2d76edd 100644
---- a/deploy/nginx/openvibe.chat.conf
++++ b/deploy/nginx/openvibe.chat.conf
@@@ -73,8 +73,8 @@ server {
proxy_cache_bypass 1;
# Host-only surfaces (the app refuses them from the proxy too).
-- location = /metrics { return 404; }
-- location ^~ /internal/ { return 404; }
++ location ~* ^/metrics(/|$) { return 404; }
++ location ~* ^/internal(/|$) { return 404; }
# Chat's socket.
# A location's proxy_set_header replaces every server-level one, so the client address is set here