| From: | Yogesh Mahajan <yogesh(dot)mahajan(at)enterprisedb(dot)com> |
|---|---|
| To: | Shakir Idrisi <shakir(at)webuzo(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 05:08:18 |
| Message-ID: | CAMa=N=PNmGTtZaJEOPRxkefCCDxJ5BQz_kLT04dWDThaSZXz8w@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgadmin-support |
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 | Shakir Idrisi | 2025-08-04 07:01:14 | Re: Issue with pgAdmin 4 Login Behind NGINX Reverse Proxy at /pgadmin4 Path |
| Previous Message | Shakir Idrisi | 2025-08-03 16:51:36 | Re: Issue with pgAdmin 4 Login Behind NGINX Reverse Proxy at /pgadmin4 Path |