Re: [pgadmin-support] pgadmin4 running behind nginx
От | Dan Davis |
---|---|
Тема | Re: [pgadmin-support] pgadmin4 running behind nginx |
Дата | |
Msg-id | CAFzonYYct+XstFhoM+Kg2c5FF3guzGwNiK9JLuv5YU8ck0xLQQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [pgadmin-support] pgadmin4 running behind nginx (jbiskofski <jbiskofski@gmail.com>) |
Ответы |
Re: pgadmin4 running behind nginx
|
Список | pgadmin-support |
Another trick here is to let the back-end know that it is https:
proxy_set_header X-Forwarded-Proto https;
On Wed, Feb 1, 2017 at 12:34 PM, jbiskofski <jbiskofski@gmail.com> wrote:
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@pgadmin.org> wrote:--On Wed, Feb 1, 2017 at 10:20 AM, Ashesh Vashi <ashesh.vashi@enterprisedb.com> wrote: On Wed, Feb 1, 2017 at 3:44 PM, Dave Page <dpage@pgadmin.org> wrote:On Wed, Feb 1, 2017 at 10:11 AM, Harshal Dhumal
<harshal.dhumal@enterprisedb.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
В списке pgadmin-support по дате отправления: