Hi, I am setting Pgwatch up behind a reverse proxy with nginx as follows.
Main dashboard:
For the main dashboard running at 8080, I tried to edit the web.py by replacing line https://github.com/cybertec-postgresql/pgwatch2/blob/master/webpy/web.py#L446
with
cherrypy.quickstart(Root(), "/pgwatch", config=config)
The dashboard opens at https://myhost.com/pgwatch but when I inspect the html in browser, I get this.

To what I know about web, the base url is attached to the /static/bootstrap-4.3.1-dist/css/bootstrap.min.css to form
{base_url}/static/bootstrap-4.3.1-dist/css/bootstrap.min.css to get the css file but what the expectation is that the css file should be requested from {base_url}/pgwatch/static/bootstrap-4.3.1-dist/css/bootstrap.min.css.
So one way to fix this is to change all the href's in the html file. But that isn't a good solution.
Grafana:
Also I changed root_url in
/usr/share/grafana/conf/defaults.ini
to
root_url = %(protocol)s://%(domain)s:%(http_port)s/pgwatch/grafana . For grafana, this didn't work. I got 502.
My nginx.conf file looks like this.
server {
# listen 80;
listen 443 ssl;
...
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
ssl_dhparam /etc/dh/nginx.pem;
location /pgwatch/grafana {
proxy_pass http://pgwatch:3000;
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /pgwatch {
proxy_pass http://pgwatch:8080;
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Please help with both the problems.
Hi, I am setting Pgwatch up behind a reverse proxy with nginx as follows.
Main dashboard:
For the main dashboard running at 8080, I tried to edit the
web.pyby replacing line https://github.com/cybertec-postgresql/pgwatch2/blob/master/webpy/web.py#L446with
cherrypy.quickstart(Root(), "/pgwatch", config=config)The dashboard opens at

https://myhost.com/pgwatchbut when I inspect the html in browser, I get this.To what I know about web, the base url is attached to the
/static/bootstrap-4.3.1-dist/css/bootstrap.min.cssto form{base_url}/static/bootstrap-4.3.1-dist/css/bootstrap.min.cssto get the css file but what the expectation is that the css file should be requested from{base_url}/pgwatch/static/bootstrap-4.3.1-dist/css/bootstrap.min.css.So one way to fix this is to change all the href's in the html file. But that isn't a good solution.
Grafana:
Also I changed
root_urlinto
root_url = %(protocol)s://%(domain)s:%(http_port)s/pgwatch/grafana. For grafana, this didn't work. I got 502.My nginx.conf file looks like this.
Please help with both the problems.