From: | jbiskofski <jbiskofski(at)gmail(dot)com> |
---|---|
To: | Dave Page <dpage(at)pgadmin(dot)org> |
Cc: | Ashesh Vashi <ashesh(dot)vashi(at)enterprisedb(dot)com>, Harshal Dhumal <harshal(dot)dhumal(at)enterprisedb(dot)com>, pgAdmin Support <pgadmin-support(at)postgresql(dot)org> |
Subject: | Re: pgadmin4 running behind nginx |
Date: | 2017-02-01 17:34:31 |
Message-ID: | CAHpPzY4CtG34FGTwD0YOJW_-L4On-fVtFuDwuL5=oO-8c6EePA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgadmin-support |
I Set up my nginx as Harshal suggested and this fixed the problem. Thanks
for the help!
On Wed, Feb 1, 2017 at 3:37 AM, Dave Page <dpage(at)pgadmin(dot)org> wrote:
>
>
> On Wed, Feb 1, 2017 at 10:20 AM, Ashesh Vashi <
> ashesh(dot)vashi(at)enterprisedb(dot)com> wrote:
>
>> On Wed, Feb 1, 2017 at 3:44 PM, Dave Page <dpage(at)pgadmin(dot)org> wrote:
>>
>>> On Wed, Feb 1, 2017 at 10:11 AM, Harshal Dhumal
>>> <harshal(dot)dhumal(at)enterprisedb(dot)com> wrote:
>>> > Hi,
>>> >
>>> > When I setup my machine with below server setup and without
>>> proxy_redirect I
>>> > got slightly different behaviour. In my case all redirects were failing
>>> > cause browser was redirecting all request to http while server (nginx)
>>> was
>>> > configure to serve only https. I didn't get any intermittent state like
>>> > pgAdmin4 front page was loading but other requests (like css, js) was
>>> > failing.
>>> >
>>> > Issue was when pgAdmin4 app returns redirect (301 /302) response to
>>> apache
>>> > and apache to nginx; the nginx was returning redirect location header
>>> as is
>>> > (i.e. with http protocol as apache was configured to accept only http)
>>> >
>>> > To avoid this I need to rewrite location header at nginx
>>> (proxy_redirect)
>>> > before sending it to browser.
>>> >
>>> > proxy_set_header X-Real-IP $remote_addr;
>>> > proxy_set_header X-Forwarded-For $remote_addr;
>>> > proxy_set_header Host $host;
>>> > proxy_pass http://127.0.0.1:81;
>>> > proxy_redirect http:// https://;
>>> >
>>> > With above nginx configuration pgAdmin was loading properly.
>>> >
>>> > Server setup:
>>> >
>>> > Nginx listing at 443 (https only) and forwarding all requests to
>>> apache at
>>> > 127.0.0.1:81
>>> > Apache listing at port 81 (http only) with pgAdmin4 wsgi
>>>
>>> Nice - thanks Harshal.
>>>
>>> Were you able to see why we're trying to load
>>> http://127.0.0.1:5050/login?next=%2Fbrowser%2Fbrowser.css ? I can
>>> reproduce that just by pointing my browser at a dev server (e.g.
>>> werkzeug). No Apache or nginx needed.
>>>
>> I think - I spotted it.
>>
>> We've the 'login_required' decorated for the browser_css function.
>> And, It has been referred in base.html template, which is also used in
>> the login.html.
>>
>> Please try to remove '@login_required' decorator from the 'browser_css'
>> function, found in the 'web/pgadmin/browser/__init__.py' file.
>>
>
> Good shout - that fixes that problem, but leaves us with an http/500 error
> because browser_css loads per-user preferences. I think we need to
> conditionally include this block from base.html:
> <!-- View specified stylesheets -->
>
> {% for stylesheet in current_app.stylesheets %}
> <link type="text/css" rel="stylesheet" href="{{ stylesheet }}">
>
> {% endfor %}
>
> But I don't have time to investigate further right now as I have to leave
> for FOSDEM soon.
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
From | Date | Subject | |
---|---|---|---|
Next Message | Shira Bezalel | 2017-02-01 18:20:47 | pgAdmin 4 - Foreign Table create script is sorting columns in alphabetical order instead of actual order |
Previous Message | Rich Shepard | 2017-02-01 13:39:12 | Re: Building pgadmin4-1.1: Python3 virtual wrapper |