> Both did the trick, but which one is better?

I personally prefer the $request_uri one because it’s very clear exactly what 
it does.

> I think I read somewhere that nginx would connect unencrypted to the backend, 
> and do the encryption / decryption, is this wrong then?

Nginx will connect the way you’ve told it to connect, if you’re connecting to a 
http backend, it will do plain communication over http – if you’re connecting 
to a https backend, it will establish a secure connection with the backend, and 
decrypt the response before encrypting it again when going to the client.

> It works on some of my other domains, so is this just an exeption?
> What I really ask is this: Should I change my other domains also, or should I 
> kepp them as they are as long as they work?

I would change it for consistency across your configs, but that’s my opinion – 
if it works then it’s all OK anyway, I don’t know the specific case when it 
will and will not work – so I by default set $request_uri because it works in 
99% of the cases, and I’ll only modify it if another behaviour is required.

Best Regards,
Lucas Rolff

From: nginx <nginx-boun...@nginx.org> on behalf of "Jungersen, Danjel - 
Jungersen Grafisk ApS" <dan...@jungersen.dk>
Organization: Jungersen Grafisk ApS
Reply-To: "nginx@nginx.org" <nginx@nginx.org>
Date: Sunday, 26 August 2018 at 11.29
To: "nginx@nginx.org" <nginx@nginx.org>
Subject: Re: reverse proxy https not working

Thanks !!!

 proxy_pass  https://192.168.1.3;
 proxy_pass  https://192.168.1.3$request_uri;

Both did the trick, but which one is better?

I will now try to re-enable all the "force encryption" settings.

And closing firewall ports to see what I can avoid having open.

I'm a bit of novice at proxies, so please be patient :-)
I will read the documentation sections you mentioned.

I think I read somewhere that nginx would connect unencrypted to the backend, 
and do the encryption / decryption, is this wrong then?
It works on some of my other domains, so is this just an exeption?
What I really ask is this: Should I change my other domains also, or should I 
kepp them as they are as long as they work?

It sounds like you recommend removing the "/" on all sites(?)

A current typical setup:

server {

  server_name www.printlight.dk;
  server_name printlight.dk;

  location / {

    proxy_pass  http://192.168.20.3/;

    proxy_set_header Host $host;

  }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/printlight.dk/fullchain.pem; # 
managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/printlight.dk/privkey.pem; # 
managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot


}

server {
    if ($host = www.printlight.dk) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = printlight.dk) {
        return 301 https://$host$request_uri;
    } # managed by Certbot



  listen 80;

  server_name www.printlight.dk;
  server_name printlight.dk;
    return 404; # managed by Certbot




}



Best regards
Danjel


From:                         Lucas Rolff <lu...@lucasrolff.com>
To:                            "nginx@nginx.org" <nginx@nginx.org>
Subject:                     Re: reverse proxy https not working
Date sent:                  Sun, 26 Aug 2018 08:47:03 +0000
Send reply to:             nginx@nginx.org

> > The vendor recommended me to use a reverse proxy....
>
> Ideally the vendor should have a working config in that case, but, I do see a 
> few things that can
> be an issue.
>
> You’re serving https but proxying to an http backend – depending on how the 
> software works, a
> lot of the reverse URLs that is sent back, might be linking to http:// 
> instead of https://
>
> This in itself can break a lot of functionality, you might want to try to 
> proxy to an https backend
> – this might require that you create a self-signed certificate on the backend 
> (can be valid for 10
> years) – the backend software itself, if it has a way to enable “https”, 
> you’d have to set this as
> well.
>
> I also recommend removing the / (slash) in the end of the proxy_pass, this 
> will pass through the
> request URI from the client, as per documentation:
>
> > If proxy_pass is specified without a URI, the request URI is passed to the 
> > server in the same
> form as sent by a client when the original request is processed, or the full 
> normalized request
> URI is passed when processing the changed URI
>
> Alternatively do proxy_pass http://192.168.1.3$request_uri; or proxy_pass
> https://192.168.1.3$request_uri;
>
> Additionally, if your software uses Location or Refresh headers, then you 
> might want to look
> into proxy_redirect (
> http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_redirect )  to 
> rewrite this on
> the “return” to the user.
>
> Best Regards,
> Lucas Rolff
>
> From: nginx <nginx-boun...@nginx.org> on behalf of "Jungersen, Danjel -
> Jungersen Grafisk ApS"<dan...@jungersen.dk>
> Organization: Jungersen Grafisk ApS
> Reply-To: "nginx@nginx.org" <nginx@nginx.org>
> Date: Sunday, 26 August 2018 at 10.33
> To: "nginx@nginx.org" <nginx@nginx.org>
> Subject: Re: reverse proxy https not working
>
>
>
> From:                         Lucas Rolff <lu...@lucasrolff.com>
> To:                            "nginx@nginx.org"<nginx@nginx.org>
> Subject:                     Re: reverse proxy https not working
> Date sent:                  Sun, 26 Aug 2018 08:19:28 +0000
> Send reply to:             nginx@nginx.org
>
> > Which functions do not work?
> Thats a bit hard to say, but I'll try..
>
> It's a print production system.
> 1 part is approval of pages in a job.
>
> When I try to open a page for approval the system should open up the page in 
> large size.
> That does not happen.
> The thumbnails on the side works.
> And as stated, when I do the same thing when connected via http, there are no 
> issues.
>
> >
> > Be aware some software (WordPress being a good example) doesn’t always work 
> > with
> reverse
> > proxies that easy.
> The vendor recommended me to use a reverse proxy....
>
> >
> > Could you possibly include your nginx configuration? Especially your proxy 
> > parts.
>
> server {
>
>   server_name portal.printlight.dk;
>
>   client_max_body_size 1000m;  # (I tried with and without this line)
>
>   error_log /etc/nginx/log warn;
>
>   location / {
>
>     proxy_pass  http://192.168.1.3:80/;
>
>     proxy_set_header Host $host;
>
>   }
>
>     listen 80;
>     listen 443 ssl; # managed by Certbot
>     ssl_certificate /etc/letsencrypt/live/portal.printlight.dk/fullchain.pem; 
> # managed by Certbot
>     ssl_certificate_key 
> /etc/letsencrypt/live/portal.printlight.dk/privkey.pem; # managed by
> Certbot
>     include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
>     ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
>
> }
>
>
> >
> > From: nginx <nginx-boun...@nginx.org> on behalf of "Jungersen, Danjel -
> > Jungersen Grafisk ApS"<dan...@jungersen.dk>
> > Organization: Jungersen Grafisk ApS
> > Reply-To: "nginx@nginx.org"<nginx@nginx.org>
> > Date: Sunday, 26 August 2018 at 10.13
> > To: "nginx@nginx.org"<nginx@nginx.org>
> > Subject: reverse proxy https not working
> >
> > Hi there.
> >
> > I have a setup that almost works.
> > :-)
> >
> > I have a handful of domains that works as they should.
> > Traffic as accepted and forwarded to my apache on another server (also in 
> > dmz).
> > I have setup certificates with certbot.
> > I have green (encrypted) icon on my browser when I visit my sites.
> >
> > 1 site is running on my green network.
> > When I connect to that site all seems to work.
> > However, certain functions fail, but only when connected via https.
> > If I change the setup so that port 80 is not redirected to 443, everything 
> > works as long
> as I
> > stay with http.
> > As soon as I chenge the url to https:// some functions fail.
> > I have tried but cannot understand the debug log.
> >
> > I don't see any hits on my firewall.
> >
> > Any clues?
> > I will be happy to send config and logfiles, but I'm not sure exactly what 
> > to send.
> >
> > Best regards
> > Danjel
> >
>
>


_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx

Reply via email to