Welcome! Log In Create A New Profile

Advanced

Re: proxy_pass Not Working on Port 80

Francis Daly
September 09, 2020 04:58AM
On Wed, Sep 09, 2020 at 01:58:42AM -0400, figshta wrote:

Hi there,

> I have two servers behind on IP address.

What does that mean, in terms of "traffic to the IP address gets sent
to server#1 or to server'2"?

> Server1 is hosting several websites
> all using TLS exclusively.

That suggests that all incoming traffic to your IP on port 443 gets sent
to server#1.

> Recently I set up Server2 and setup one website using reverse proxy from
> Server1 and finally successfully deployed TLS on it as well.
> During that setup I had to use port 80 to use Certbot with Let's Encrypt.
> Now I'm trying to do it again the same way with another domain.
> The proxy_pass directive works on port 8080, but when I switch it to port 80
> I get a 404 error.

What request do you make that returns the 404 error?

What response do you want for that request? (Probably something like
"http 200 and the contents of *this* file".)

(And: what does the nginx log file say about the 404 error? Is it trying
to read a different file from what you expect?)

> Here is setup in question: (again, Port 8080 works, but port 80 does not)
>
> ----------------------------------
> #Proxy server (Server1)
>
> # threedaystubble.com server
> server {
> listen 80;
> server_name www.threedaystubble.com threedaystubble.com;
> location / {
> proxy_pass http://192.168.3.5:80;

With that config, your server#2 will not see a Host: header that includes
threedaystubble.com.

If your server#2 needs that Host header, things will probably break.

> #Proxied Server (Server2)
>
> server {
> listen 80;
>
> server_name threedaystubble.com www.threedaystubble.com;
>
> root /var/www/threedaystubble.com;
>
> location / {
> }
>
> }

If that is the entire config on server#2, it should probably work. But
if you have more server{} blocks, such that the "default" port-80 server
is something else, then that extra config might be causing this not to
act in the way that you want.

> Any help would be greatly appreciated.

Depending on what else is wanted, I'd suggest one of the methods to
make sure that the Host: header that you want, is sent to server#2 in
the proxy_pass request from server#1.

That can be proxy_set_header; or proxy_pass with the hostname and either
an upstream of the hostname, or the system resolver to refer to the
server#2 address.

(Or: just use port 8080 on server#2 for this site; and port 8081 on
server#2 for the next site.)

Good luck with it,

f
--
Francis Daly francis@daoine.org
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

proxy_pass Not Working on Port 80

figshta September 09, 2020 01:58AM

Re: proxy_pass Not Working on Port 80

Francis Daly September 09, 2020 04:58AM

RE: proxy_pass Not Working on Port 80

Reinis Rozitis September 09, 2020 07:02AM

Re: RE: proxy_pass Not Working on Port 80

figshta September 09, 2020 10:40AM

Re: RE: proxy_pass Not Working on Port 80

Francis Daly September 09, 2020 04:48PM

Re: RE: proxy_pass Not Working on Port 80

figshta September 10, 2020 01:31AM

Re: RE: proxy_pass Not Working on Port 80

Francis Daly September 10, 2020 04:18AM

Re: RE: proxy_pass Not Working on Port 80

figshta September 10, 2020 11:11AM

Re: RE: proxy_pass Not Working on Port 80

Francis Daly September 11, 2020 04:24AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 300
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready