uptime-kuma: Cant connect to the socket when hosted by proxy
β οΈ Please verify that this bug has NOT been raised before.
- I checked and didnβt find similar issue
π‘οΈ Security Policy
- I agree to have read this project Security Policy
Description
I just installed Uptime Kuma and im very happy with it. However, as im hosting it with docker and i want to point a subdomain to it through my Plesk installation, i have to do that through a ProxyPass like so:
RewriteEngine On
ProxyPass / https://ip:3001/
ProxyPassReverse / https//ip:3001/
When doing that, i can successfully open the subdomain, and it will be directed to the Docker installation, but the websocket connection fails:

Can this somehow be fixed?
π Reproduction steps
- Install Uptime Kuma through Docker.
- Point a ProxyPass to the IP and Port of the Docker instance.
- Visit the host configured through the ProxyPass.
- See Error π
π Expected behavior
I would like to still be able to use Uptime Kuma even when hosted with a ProxyPass. The Websocket should be able to connect.
π Actual Behavior
The Websocket can not connect properly. View image above.
π» Uptime-Kuma Version
1.10.2
π» Operating System and Arch
Windows 10
π Browser
Chrome
π Docker Version
19.03.15
π© NodeJS Version
No response
π Relevant log output
vendor.f3bba5ad.js:55 WebSocket connection to 'wss://kuma.example.de/socket.io/?EIO=4&transport=websocket' failed:
doOpen @ vendor.f3bba5ad.js:55
index.3fc36d03.js:1 Failed to connect to the backend. Socket.io connect_error: websocket error
(anonymous) @ index.3fc36d03.js:1
vendor.f3bba5ad.js:55 WebSocket connection to 'wss://kuma.example.de/socket.io/?EIO=4&transport=websocket' failed:
doOpen @ vendor.f3bba5ad.js:55
index.3fc36d03.js:1 Failed to connect to the backend. Socket.io connect_error: websocket error
(anonymous) @ index.3fc36d03.js:1
vendor.f3bba5ad.js:55 WebSocket connection to 'wss://kuma.example.de/socket.io/?EIO=4&transport=websocket' failed:
doOpen @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
QM @ vendor.f3bba5ad.js:55
dC.exports @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
index.3fc36d03.js:1 Failed to connect to the backend. Socket.io connect_error: websocket error
(anonymous) @ index.3fc36d03.js:1
t.emit @ vendor.f3bba5ad.js:55
emitReserved @ vendor.f3bba5ad.js:55
onerror @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
emitReserved @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
ws.onerror @ vendor.f3bba5ad.js:55
error (async)
addEventListeners @ vendor.f3bba5ad.js:55
doOpen @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
QM @ vendor.f3bba5ad.js:55
dC.exports @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
vendor.f3bba5ad.js:55 WebSocket connection to 'wss://kuma.example.de/socket.io/?EIO=4&transport=websocket' failed:
doOpen @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
QM @ vendor.f3bba5ad.js:55
dC.exports @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
index.3fc36d03.js:1 Failed to connect to the backend. Socket.io connect_error: websocket error
(anonymous) @ index.3fc36d03.js:1
t.emit @ vendor.f3bba5ad.js:55
emitReserved @ vendor.f3bba5ad.js:55
onerror @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
emitReserved @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
ws.onerror @ vendor.f3bba5ad.js:55
error (async)
addEventListeners @ vendor.f3bba5ad.js:55
doOpen @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
QM @ vendor.f3bba5ad.js:55
dC.exports @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
setTimeout (async)
reconnect @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
ws.onerror @ vendor.f3bba5ad.js:55
error (async)
addEventListeners @ vendor.f3bba5ad.js:55
doOpen @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
QM @ vendor.f3bba5ad.js:55
dC.exports @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
vendor.f3bba5ad.js:55 WebSocket connection to 'wss://kuma.example.de/socket.io/?EIO=4&transport=websocket' failed:
doOpen @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
QM @ vendor.f3bba5ad.js:55
dC.exports @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
index.3fc36d03.js:1 Failed to connect to the backend. Socket.io connect_error: websocket error
(anonymous) @ index.3fc36d03.js:1
t.emit @ vendor.f3bba5ad.js:55
emitReserved @ vendor.f3bba5ad.js:55
onerror @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
emitReserved @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
ws.onerror @ vendor.f3bba5ad.js:55
error (async)
addEventListeners @ vendor.f3bba5ad.js:55
doOpen @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
QM @ vendor.f3bba5ad.js:55
dC.exports @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
setTimeout (async)
reconnect @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
ws.onerror @ vendor.f3bba5ad.js:55
error (async)
addEventListeners @ vendor.f3bba5ad.js:55
doOpen @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
QM @ vendor.f3bba5ad.js:55
dC.exports @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
setTimeout (async)
reconnect @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
ws.onerror @ vendor.f3bba5ad.js:55
error (async)
addEventListeners @ vendor.f3bba5ad.js:55
doOpen @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
QM @ vendor.f3bba5ad.js:55
dC.exports @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
vendor.f3bba5ad.js:55 WebSocket connection to 'wss://kuma.example.de/socket.io/?EIO=4&transport=websocket' failed:
doOpen @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
QM @ vendor.f3bba5ad.js:55
dC.exports @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
index.3fc36d03.js:1 Failed to connect to the backend. Socket.io connect_error: websocket error
(anonymous) @ index.3fc36d03.js:1
t.emit @ vendor.f3bba5ad.js:55
emitReserved @ vendor.f3bba5ad.js:55
onerror @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
emitReserved @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
ws.onerror @ vendor.f3bba5ad.js:55
error (async)
addEventListeners @ vendor.f3bba5ad.js:55
doOpen @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
QM @ vendor.f3bba5ad.js:55
dC.exports @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
setTimeout (async)
reconnect @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
ws.onerror @ vendor.f3bba5ad.js:55
error (async)
addEventListeners @ vendor.f3bba5ad.js:55
doOpen @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
QM @ vendor.f3bba5ad.js:55
dC.exports @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
setTimeout (async)
reconnect @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
ws.onerror @ vendor.f3bba5ad.js:55
error (async)
addEventListeners @ vendor.f3bba5ad.js:55
doOpen @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
QM @ vendor.f3bba5ad.js:55
dC.exports @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
setTimeout (async)
reconnect @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
ws.onerror @ vendor.f3bba5ad.js:55
error (async)
addEventListeners @ vendor.f3bba5ad.js:55
doOpen @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
QM @ vendor.f3bba5ad.js:55
dC.exports @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
vendor.f3bba5ad.js:55 WebSocket connection to 'wss://kuma.example.de/socket.io/?EIO=4&transport=websocket' failed:
doOpen @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
QM @ vendor.f3bba5ad.js:55
dC.exports @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
index.3fc36d03.js:1 Failed to connect to the backend. Socket.io connect_error: websocket error
(anonymous) @ index.3fc36d03.js:1
t.emit @ vendor.f3bba5ad.js:55
emitReserved @ vendor.f3bba5ad.js:55
onerror @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
emitReserved @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
ws.onerror @ vendor.f3bba5ad.js:55
error (async)
addEventListeners @ vendor.f3bba5ad.js:55
doOpen @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
QM @ vendor.f3bba5ad.js:55
dC.exports @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
setTimeout (async)
reconnect @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
ws.onerror @ vendor.f3bba5ad.js:55
error (async)
addEventListeners @ vendor.f3bba5ad.js:55
doOpen @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
QM @ vendor.f3bba5ad.js:55
dC.exports @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
setTimeout (async)
reconnect @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
ws.onerror @ vendor.f3bba5ad.js:55
error (async)
addEventListeners @ vendor.f3bba5ad.js:55
doOpen @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
QM @ vendor.f3bba5ad.js:55
dC.exports @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
setTimeout (async)
reconnect @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
ws.onerror @ vendor.f3bba5ad.js:55
error (async)
addEventListeners @ vendor.f3bba5ad.js:55
doOpen @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
QM @ vendor.f3bba5ad.js:55
dC.exports @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
setTimeout (async)
reconnect @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
t.emit @ vendor.f3bba5ad.js:55
onError @ vendor.f3bba5ad.js:55
ws.onerror @ vendor.f3bba5ad.js:55
error (async)
addEventListeners @ vendor.f3bba5ad.js:55
doOpen @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
QM @ vendor.f3bba5ad.js:55
dC.exports @ vendor.f3bba5ad.js:55
open @ vendor.f3bba5ad.js:55
(anonymous) @ vendor.f3bba5ad.js:55
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 19
I had a similar problem first when using Apache as reverse proxy. With the following setup it works now fine:
I also did activate these apache modules for it to run:
The Status page donβt use Sockets I think but in your dashboard look at the errors in console