Mailing List Archive

proxying websocket and httpd in same VHOST
Hi everyone,

I've browsed many ressources and read many thread of the mailing list. Looks like I'm not alone to have this issue and that documentation is not really clear.

So I'm running this release of apache :
httpd -v
Server version: Apache/2.4.53 (Rocky Linux)
Server built: Apr 28 2023 00:00:00

Here are the loaded modules :
core_module (static)
so_module (static)
http_module (static)
access_compat_module (shared)
actions_module (shared)
alias_module (shared)
allowmethods_module (shared)
auth_basic_module (shared)
auth_digest_module (shared)
authn_anon_module (shared)
authn_core_module (shared)
authn_dbd_module (shared)
authn_dbm_module (shared)
authn_file_module (shared)
authn_socache_module (shared)
authz_core_module (shared)
authz_dbd_module (shared)
authz_dbm_module (shared)
authz_groupfile_module (shared)
authz_host_module (shared)
authz_owner_module (shared)
authz_user_module (shared)
autoindex_module (shared)
cache_module (shared)
cache_disk_module (shared)
cache_socache_module (shared)
data_module (shared)
dbd_module (shared)
deflate_module (shared)
dir_module (shared)
dumpio_module (shared)
echo_module (shared)
env_module (shared)
expires_module (shared)
ext_filter_module (shared)
filter_module (shared)
headers_module (shared)
include_module (shared)
info_module (shared)
log_config_module (shared)
logio_module (shared)
macro_module (shared)
mime_magic_module (shared)
mime_module (shared)
negotiation_module (shared)
remoteip_module (shared)
reqtimeout_module (shared)
request_module (shared)
rewrite_module (shared)
setenvif_module (shared)
slotmem_plain_module (shared)
slotmem_shm_module (shared)
socache_dbm_module (shared)
socache_memcache_module (shared)
socache_redis_module (shared)
socache_shmcb_module (shared)
status_module (shared)
substitute_module (shared)
suexec_module (shared)
unique_id_module (shared)
unixd_module (shared)
userdir_module (shared)
version_module (shared)
vhost_alias_module (shared)
watchdog_module (shared)
brotli_module (shared)
dav_module (shared)
dav_fs_module (shared)
dav_lock_module (shared)
lua_module (shared)
mpm_event_module (shared)
proxy_module (shared)
lbmethod_bybusyness_module (shared)
lbmethod_byrequests_module (shared)
lbmethod_bytraffic_module (shared)
lbmethod_heartbeat_module (shared)
proxy_ajp_module (shared)
proxy_balancer_module (shared)
proxy_connect_module (shared)
proxy_express_module (shared)
proxy_fcgi_module (shared)
proxy_fdpass_module (shared)
proxy_ftp_module (shared)
proxy_http_module (shared)
proxy_hcheck_module (shared)
proxy_scgi_module (shared)
proxy_uwsgi_module (shared)
systemd_module (shared)
cgid_module (shared)

I'm deploying an apache RP in front of an Odoo provinding http classic on 8069 port and websocket on :8072/websocket/ port

I read the example https://httpd.apache.org/docs/2.4/en/mod/mod_proxy.html#examples and https://httpd.apache.org/docs/2.4/en/mod/mod_proxy.html#wsupgrade and I tried first this setup :

ProxyPreserveHost On
ProxyRequests Off
ProxyPass "/websocket/" "http://127.0.0.1:8072/websocket/" upgrade=websocket

ProxyPass / http://127.0.0.1:8069/
ProxyPassReverse / http://127.0.0.1:8069/

This fist try didn't succeed,so I tried this one

ProxyPreserveHost On
ProxyRequests Off
ProxyPass "/websocket/" "ws://127.0.0.1:8072/websocket/"

ProxyPass / http://127.0.0.1:8069/
ProxyPassReverse / http://127.0.0.1:8069/

without more success

the backend still returning 400 on websocket url

any ideas , proposal, debug procedure will be appreciated.

Tanks in adavance for the time spent reading this thread.

regards


Florent THOMAS


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org