| From: | Shakir Idrisi <shakir(at)webuzo(dot)com> |
|---|---|
| To: | Yogesh Mahajan <yogesh(dot)mahajan(at)enterprisedb(dot)com> |
| Cc: | "pgadmin-support lists(dot)postgresql(dot)org" <pgadmin-support(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: Issue with pgAdmin 4 Login Behind NGINX Reverse Proxy at /pgadmin4 Path |
| Date: | 2025-08-04 07:01:14 |
| Message-ID: | CAKZfs-oHpU24auCzuAS2SHFibfuL6bCbR8=A0uv92a1x3ZKHKQ@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgadmin-support |
Hi,
I have tried the above solution, but it is still not working.
I have monitored the log, and it shows that the user is logged in.
*2025-08-04 12:23:33,777: INFO pgadmin: Internal user
shakir(at)xyz(dot)com <shakir(at)xyz(dot)com> logged in.*
However, after logging in, the page appears blank.
In the browser’s *Network tab*, most requests return *200*, but about *3
requests return 401 Unauthorized*.
[image: image.png]
conf I'm using, this works when accessed on http, but when I access it on
https, it shows a blank page,
certificate is installed on the domain.
*location = /pgadmin4 { rewrite ^ /pgadmin4/; }location ^~ /pgadmin4/ {
proxy_pass http://unix:/tmp/pgadmin4.sock; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Script-Name
/pgadmin4/; proxy_http_version 1.1; proxy_read_timeout 300;
proxy_connect_timeout 60;}*
On Mon, Aug 4, 2025 at 10:38 AM Yogesh Mahajan <
yogesh(dot)mahajan(at)enterprisedb(dot)com> wrote:
> Hi,
>
> Can you please try changing proxy_pass to
>
> proxy_pass http://unix:/tmp/pgadmin4.sock:/<scripnt_name>/;
>
> As you are setting the script name. If it does not work, please paste the
> complete configuration for nginx, and service file to debug more.
>
>
> Thanks,
> Yogesh Mahajan
> EnterpriseDB
>
>
> On Sun, Aug 3, 2025 at 10:21 PM Shakir Idrisi <shakir(at)webuzo(dot)com> wrote:
>
>> Hi,
>>
>> Any update on this?
>>
>> On Thu, Jul 31, 2025, 7:27 PM Shakir Idrisi <shakir(at)webuzo(dot)com> wrote:
>>
>>> Hi,
>>>
>>> I am facing an issue when I try to access the pgadmin of https after
>>> logging in; it shows a blank page. Can you please help me figure it out?
>>>
>>> This is the config I am using.
>>>
>>>
>>>
>>> *location = /pgadmin4 { return 301 /pgadmin4/;}*
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> *location ^~ /pgadmin4/ { proxy_pass http://unix:/tmp/pgadmin4.sock;
>>> proxy_set_header Host $host;proxy_set_header X-Real-IP
>>> $remote_addr;proxy_set_header X-Forwarded-For
>>> $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto
>>> $scheme;proxy_set_header X-Forwarded-Host $host;proxy_set_header
>>> X-Script-Name /pgadmin4;proxy_http_version 1.1; proxy_read_timeout 300;
>>> proxy_connect_timeout 60;}*
>>>
>>> In the browser console of I am getting this error.
>>> *Object { message: "Request failed with status code
>>> 401", name: "AxiosError", code: "ERR_BAD_REQUEST", config: {…}, request: XMLHttpRequest, response: {…}, status: 401, stack: "".....*
>>>
>>> On Mon, Jun 23, 2025 at 9:12 AM Yogesh Mahajan <
>>> yogesh(dot)mahajan(at)enterprisedb(dot)com> wrote:
>>>
>>>> Hi,
>>>>
>>>> Can you please try modifying '/pgadmin4' like below -
>>>> `location = /pgadmin4 {
>>>> return 301 /pgadmin4/;
>>>> }`
>>>>
>>>> You can use webserver /kerberos authentication method for automatic
>>>> login. With internal authentication method, you will required to enter your
>>>> userid/password. You may also use OAuth2.
>>>>
>>>> Thanks,
>>>> Yogesh Mahajan
>>>> EnterpriseDB
>>>>
>>>>
>>>> On Fri, Jun 20, 2025 at 1:24 PM Shakir Idrisi <shakir(at)webuzo(dot)com>
>>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> One more question, can I use autologin in pgAdmin4? I am using the
>>>>> internal method for authentication.
>>>>>
>>>>> On Fri, Jun 20, 2025 at 11:38 AM Shakir Idrisi <shakir(at)webuzo(dot)com>
>>>>> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> Thanks, it worked.
>>>>>>
>>>>>> I am facing an issue when I try to access the pgadmin of https after
>>>>>> logging in; it shows a blank page. Can you please help me figure it out?
>>>>>>
>>>>>> This is the config I am using for the proxy in HTTPS and HTTP vhblock
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> *location = /pgadmin4 { rewrite ^ /pgadmin4/; }location ^~ /pgadmin4/
>>>>>> { proxy_pass http://unix:/tmp/pgadmin4.sock; proxy_set_header Host
>>>>>> $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header
>>>>>> X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header
>>>>>> X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host;
>>>>>> proxy_set_header X-Script-Name /pgadmin4; proxy_http_version 1.1;
>>>>>> proxy_read_timeout 300; proxy_connect_timeout 60;}*
>>>>>>
>>>>>> In the browser console of I am getting this error.
>>>>>> *Object { message: "Request failed with status code 401", name:
>>>>>> "AxiosError", code: "ERR_BAD_REQUEST", config: {…}, request:
>>>>>> XMLHttpRequest, response: {…}, status: 401, stack: "".....*
>>>>>>
>>>>>> On Mon, Jun 16, 2025 at 9:56 AM Yogesh Mahajan <
>>>>>> yogesh(dot)mahajan(at)enterprisedb(dot)com> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> You can use the command 'update-user' for user update.
>>>>>>>
>>>>>>> To explore more options, you can use the command below with pgadmin
>>>>>>> venv.
>>>>>>>
>>>>>>>
>>>>>>> `python3.12 setup.py update-user --help `
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Typical command would be -
>>>>>>>
>>>>>>>
>>>>>>> `python3.12 setup.py update-user <user_id> --password
>>>>>>> <new_password> --role Administrator --sqlite-path <pgadmin_db_path>`
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Yogesh Mahajan
>>>>>>> EnterpriseDB
>>>>>>>
>>>>>>>
>>>>>>> On Sat, Jun 14, 2025 at 5:09 PM Shakir Idrisi <shakir(at)webuzo(dot)com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I hope you're doing well.
>>>>>>>>
>>>>>>>> pgAdmin is now working properly. Earlier, I ran the setup-db
>>>>>>>> command and set the admin username and password.
>>>>>>>>
>>>>>>>> Now, after reinstalling pgAdmin, I noticed that the data directory
>>>>>>>> (including pgadmin.db) was not removed. I would like to either reuse the
>>>>>>>> old admin password or reset it if needed.
>>>>>>>>
>>>>>>>> Is there a way to reset the admin user's password using a command
>>>>>>>> in this case?
>>>>>>>> Your guidance would be greatly appreciated.
>>>>>>>>
>>>>>>>> Thank you for your help.
>>>>>>>>
>>>>>>>> On Tue, Jun 10, 2025, 9:57 PM Shakir Idrisi <shakir(at)webuzo(dot)com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Ok, I will check.
>>>>>>>>>
>>>>>>>>> On Tue, Jun 10, 2025, 5:26 PM Yogesh Mahajan <
>>>>>>>>> yogesh(dot)mahajan(at)enterprisedb(dot)com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> I could reproduce the error when I have multiple workers. Maybe
>>>>>>>>>> you can try restarting the Guicorn service.
>>>>>>>>>> Can you please try once in the private browser window?
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>> Yogesh Mahajan
>>>>>>>>>> EnterpriseDB
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Tue, Jun 10, 2025 at 3:54 PM Shakir Idrisi <shakir(at)webuzo(dot)com>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> HI,
>>>>>>>>>>>
>>>>>>>>>>> I have used this command, and I have created a systemd file to
>>>>>>>>>>> start and stop the service.
>>>>>>>>>>>
>>>>>>>>>>> *ExecStart=/var/w-data/pgadmin4/pgadmin_venv/bin/gunicorn \*
>>>>>>>>>>> * --workers 1 \*
>>>>>>>>>>> * --threads=25 \*
>>>>>>>>>>> * --bind unix:/tmp/pgadmin4.sock \*
>>>>>>>>>>> * --chdir
>>>>>>>>>>> /var/w-data/pgadmin4/pgadmin_venv/lib/python3.11/site-packages/pgadmin4 \*
>>>>>>>>>>> * --umask 007 \*
>>>>>>>>>>> * pgAdmin4:app*
>>>>>>>>>>>
>>>>>>>>>>> Also, when I try multiple times then it will log in and show a
>>>>>>>>>>> blank dashboard, or sometimes it will show a dashboard but not work
>>>>>>>>>>> properly. In the console log, I see the following error
>>>>>>>>>>>
>>>>>>>>>>> [image: image.png]
>>>>>>>>>>>
>>>>>>>>>>> On Tue, Jun 10, 2025 at 3:26 PM Yogesh Mahajan <
>>>>>>>>>>> yogesh(dot)mahajan(at)enterprisedb(dot)com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi,
>>>>>>>>>>>>
>>>>>>>>>>>> Can you please share your guicorn command?
>>>>>>>>>>>> How many workers are you spawning? It should be 1.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks,
>>>>>>>>>>>> Yogesh Mahajan
>>>>>>>>>>>> EnterpriseDB
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Tue, Jun 10, 2025 at 12:34 PM Shakir Idrisi <
>>>>>>>>>>>> shakir(at)webuzo(dot)com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I've installed *pgAdmin 4* on my Linux server and configured
>>>>>>>>>>>>> it behind *Gunicorn and NGINX*, accessible at:
>>>>>>>>>>>>> https://domain.com/pgadmin4/.
>>>>>>>>>>>>>
>>>>>>>>>>>>> The login page loads correctly. However, after entering valid
>>>>>>>>>>>>> credentials, I'm redirected back to the login page without any error
>>>>>>>>>>>>> message. Occasionally, I see a *CSRF token* error, which
>>>>>>>>>>>>> disappears after a page refresh, but the login still fails.
>>>>>>>>>>>>>
>>>>>>>>>>>>> In the browser console or network tab, I sometimes see 401
>>>>>>>>>>>>> errors or issues loading static assets.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Here's the NGINX configuration I'm currently using to reverse
>>>>>>>>>>>>> proxy pgAdmin via a Unix socket:
>>>>>>>>>>>>>
>>>>>>>>>>>>> *nginx*
>>>>>>>>>>>>> location /pgadmin4/ {
>>>>>>>>>>>>> proxy_pass http://unix:/tmp/pgadmin4.sock:/;
>>>>>>>>>>>>>
>>>>>>>>>>>>> # Proxy headers
>>>>>>>>>>>>> proxy_set_header Host $host;
>>>>>>>>>>>>> proxy_set_header X-Real-IP $remote_addr;
>>>>>>>>>>>>> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
>>>>>>>>>>>>> proxy_set_header X-Forwarded-Proto $scheme;
>>>>>>>>>>>>>
>>>>>>>>>>>>> # Inform pgAdmin it's served under a subpath
>>>>>>>>>>>>> proxy_set_header X-Script-Name /pgadmin4;
>>>>>>>>>>>>>
>>>>>>>>>>>>> # Optional: timeouts and static asset handling
>>>>>>>>>>>>> proxy_read_timeout 300;
>>>>>>>>>>>>> proxy_connect_timeout 60;
>>>>>>>>>>>>> }
>>>>>>>>>>>>>
>>>>>>>>>>>>> Could you please advise:
>>>>>>>>>>>>>
>>>>>>>>>>>>> 1.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Is there something wrong with the proxy setup?
>>>>>>>>>>>>> 2.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Do I need to handle static assets or cookies differently
>>>>>>>>>>>>> when using a subpath (/pgadmin4)?
>>>>>>>>>>>>> 3.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Are there any additional settings required in the pgAdmin
>>>>>>>>>>>>> config to work correctly behind a sub-URI with NGINX?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks in advance for your guidance.
>>>>>>>>>>>>>
>>>>>>>>>>>>
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Yogesh Mahajan | 2025-08-04 07:16:04 | Re: Issue with pgAdmin 4 Login Behind NGINX Reverse Proxy at /pgadmin4 Path |
| Previous Message | Yogesh Mahajan | 2025-08-04 05:08:18 | Re: Issue with pgAdmin 4 Login Behind NGINX Reverse Proxy at /pgadmin4 Path |