Hello! On Fri, Jan 12, 2024 at 05:04:22PM +0000, Jakub Zelenka wrote:
> Hi, > > I'm a PHP-FPM maintainer and some FPM users have issues with missing host > header when using HTTP/3: https://github.com/php/php-src/issues/13021 . > This is not an nginx issue as correctly noted in > https://trac.nginx.org/nginx/ticket/2281 but it would be nice to have > fastcgi_param set for getting host in default config. I was thinking how to > best expose $host and REMOTE_HOST seems logical and so I think it could be > useful addition. I can update FPM to also set REMOTE_HOST from HTTP_HOST if > REMOTE_HOST is not set which would make it even more available for HTTP/1.1 > and HTTP/2 users. > > Please let me know what you think! > > # HG changeset patch > # User Jakub Zelenka <bu...@php.net> > # Date 1705078404 0 > # Fri Jan 12 16:53:24 2024 +0000 > # Node ID 1ff2f737bd318a730d0944a6037c8fd7c7da2656 > # Parent ee40e2b1d0833b46128a357fbc84c6e23be9be07 > Added REMOTE_HOST parameter to fastcgi_params. > > When HTTP/3 is used, users will no longer get HTTP_HOST as host header is no > longer set by most clients. It is useful / necessary for many setups to have > such information and REMOTE_HOST is defined in CGI/1.1 for such purpose. https://datatracker.ietf.org/doc/html/rfc3875#section-4.1.9 The REMOTE_HOST variable contains the fully qualified domain name of the client sending the request to the server, if available, otherwise NULL. That is, REMOTE_HOST is completely unrelated. It is not the hostname of the requested server, but the hostname of the client - result of a reverse DNS lookup of a client's IP address, something used to be provided by some servers when Internet was small (e.g, HostnameLookups in Apache). It is certainly not the right param to use for $host. IMO, proper param to use would be SERVER_NAME. It is set to $server_name by default, though can be modified locally to provide $host if needed in the particular configuration. > > diff -r ee40e2b1d083 -r 1ff2f737bd31 conf/fastcgi_params > --- a/conf/fastcgi_params Mon Dec 25 21:15:48 2023 +0400 > +++ b/conf/fastcgi_params Fri Jan 12 16:53:24 2024 +0000 > @@ -17,6 +17,7 @@ > > fastcgi_param REMOTE_ADDR $remote_addr; > fastcgi_param REMOTE_PORT $remote_port; > +fastcgi_param REMOTE_HOST $host; > fastcgi_param SERVER_ADDR $server_addr; > fastcgi_param SERVER_PORT $server_port; > fastcgi_param SERVER_NAME $server_name; -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-devel mailing list nginx-devel@nginx.org https://mailman.nginx.org/mailman/listinfo/nginx-devel