On Wed, Aug 6, 2025 at 11:38 AM Shakir Idrisi <sha...@webuzo.com> wrote:

> Hi,
>
> I referred to the documentation, but my Nginx setup doesn’t have the
> proxy_params file. So I manually added the proxy_set_header lines. However,
> after logging in, pgAdmin4 was showing a blank page.
>
> *To fix it, I changed: proxy_set_header Host $host*;
> *to: proxy_set_header Host $http_host;*
>
> After this change, it began to work. I just want to confirm — is this the
> correct approach, or is it working by chance due to a header mismatch?
>

Both are different, and $host should be used. You can refer
https://stackoverflow.com/questions/39715510/nginx-when-to-use-proxy-set-header-host-host-vs-proxy-host
for more understanding.


>
> On Wed, Aug 6, 2025 at 11:00 AM Khushboo Vashi <
> khushboo.va...@enterprisedb.com> wrote:
>
>> Hi,
>>
>> Please refer
>> https://www.pgadmin.org/docs/pgadmin4/9.6/server_deployment.html#nginx-configuration-with-gunicorn
>> for nginx configuration.
>>
>>
>> On Wed, Aug 6, 2025 at 10:56 AM Shakir Idrisi <sha...@webuzo.com> wrote:
>>
>>> Hi,
>>>
>>> Apologies for the interruption. May I kindly ask if the configuration I
>>> provided in my previous reply is correct?
>>>
>>> On Tue, Aug 5, 2025 at 4:57 PM Shakir Idrisi <sha...@webuzo.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> I updated the configuration and it's now working.
>>>> I'm using it *$http_host* instead of *$host* for the *Host *header.
>>>> Just want to confirm — is this the correct and recommended way?
>>>>
>>>> location ^~ /pgadmin4/ {
>>>>>
>>>>>     proxy_pass http://unix:/tmp/pgadmin4.sock;
>>>>>     proxy_set_header Host $http_host; # here i have changed $host to
>>>>> $http_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 Tue, Aug 5, 2025 at 2:55 PM Shakir Idrisi <sha...@webuzo.com> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> Do you have any updates or suggestions that could help me further
>>>>> debug this issue?
>>>>>
>>>>> On Tue, Aug 5, 2025 at 10:23 AM Shakir Idrisi <sha...@webuzo.com>
>>>>> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> Yes I have tried that conf which you have provided.
>>>>>> I have mentioned that in my last reply that it is not working.
>>>>>> Still getting blank page after login on https.
>>>>>>
>>>>>> On Tue, Aug 5, 2025, 9:53 AM Yogesh Mahajan <
>>>>>> yogesh.maha...@enterprisedb.com> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I have already provided the nginx configuration. Have you tried it?
>>>>>>> Issues is clearly with Nginx config.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Yogesh Mahajan
>>>>>>> EnterpriseDB
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Aug 4, 2025 at 4:34 PM Shakir Idrisi <sha...@webuzo.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>> I’ve tried the suggested changes, but I’m still encountering the
>>>>>>>> same issue — a blank page appears after logging in over HTTPS.
>>>>>>>>
>>>>>>>> As a workaround, I modified the config_local.py file and set:
>>>>>>>> *WTF_CSRF_CHECK_DEFAULT = False*
>>>>>>>>
>>>>>>>> With this change, pgAdmin works correctly on HTTPS. However, I
>>>>>>>> understand that disabling CSRF protection is not recommended in a
>>>>>>>> production environment, so I’m looking for a more secure solution.
>>>>>>>>
>>>>>>>> Here’s a snippet of my current *config_local.py* for reference:
>>>>>>>>
>>>>>>>> DATA_DIR = '/var/lib/pgadmin4'
>>>>>>>> SQLITE_PATH = '/var/lib/pgadmin4/pgadmin4.db'
>>>>>>>> SESSION_DB_PATH = '/var/lib/pgadmin4/sessions'
>>>>>>>> STORAGE_DIR = '/var/lib/pgadmin4/storage'
>>>>>>>> AZURE_CREDENTIAL_CACHE_DIR =
>>>>>>>> '/var/lib/pgadmin4/azurecredentialcache'
>>>>>>>> KERBEROS_CCACHE_DIR = '/var/lib/pgadmin4/kerberoscache'
>>>>>>>>
>>>>>>>> SCRIPT_NAME = '/pgadmin4'
>>>>>>>>
>>>>>>>> LOG_LEVEL = 'DEBUG'
>>>>>>>> CONSOLE_LOG_LEVEL = 50  # INFO = 20, WARNING = 30, ERROR = 40,
>>>>>>>> CRITICAL = 50
>>>>>>>> FILE_LOG_LEVEL = 20
>>>>>>>> LOG_FILE = '/var/lib/pgadmin4/log/pgadmin4.log'
>>>>>>>>
>>>>>>>> Could you please help me identify the correct settings to securely
>>>>>>>> enable CSRF protection while ensuring pgAdmin functions properly over 
>>>>>>>> both
>>>>>>>> HTTP and HTTPS under /pgadmin4?
>>>>>>>>
>>>>>>>>>

Reply via email to