<div dir="ltr"><div>Hi,</div><div><br></div><div dir="ltr">On Fri, Jan 12, 2024 at 10:20 PM Maxim Dounin <<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> # HG changeset patch<br>
> # User Jakub Zelenka <<a href="mailto:bukka@php.net" target="_blank">bukka@php.net</a>><br>
> # Date 1705078404 0<br>
> #      Fri Jan 12 16:53:24 2024 +0000<br>
> # Node ID 1ff2f737bd318a730d0944a6037c8fd7c7da2656<br>
> # Parent  ee40e2b1d0833b46128a357fbc84c6e23be9be07<br>
> Added REMOTE_HOST parameter to fastcgi_params.<br>
> <br>
> When HTTP/3 is used, users will no longer get HTTP_HOST as host header is no<br>
> longer set by most clients. It is useful / necessary for many setups to have<br>
> such information and REMOTE_HOST is defined in CGI/1.1 for such purpose.<br>
<br>
<a href="https://datatracker.ietf.org/doc/html/rfc3875#section-4.1.9" rel="noreferrer" target="_blank">https://datatracker.ietf.org/doc/html/rfc3875#section-4.1.9</a><br>
<br>
   The REMOTE_HOST variable contains the fully qualified domain name of<br>
   the client sending the request to the server, if available, otherwise<br>
   NULL.<br>
<br>
That is, REMOTE_HOST is completely unrelated.  It is not the <br>
hostname of the requested server, but the hostname of the client - <br>
result of a reverse DNS lookup of a client's IP address, something <br>
used to be provided by some servers when Internet was small (e.g, <br>
HostnameLookups in Apache).  It is certainly not the right param <br>
to use for $host.<br>
<br></blockquote><div><br></div><div>I think you are right. I somehow thought about nginx as a client for some reason (technically it's a client from FPM point of view) but I agree that the meaning is different here.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
IMO, proper param to use would be SERVER_NAME.  It is set to <br>
$server_name by default, though can be modified locally to provide <br>
$host if needed in the particular configuration.</blockquote><div><br></div><div>I think it's probably the best option. Although current default value is a bit unfortunate as it's just server_name specified by user so most of the time is meaningless. Not sure if it can really comply with linked RFC either as it doesn't have to be hostname. On the other side it's been default for ages so I guess it won't be changed, right?</div><div><br></div><div>It's all just a bit unfortunate because with HTTP/3, there is no longer any server host info in the default configuration that would be passed to FPM.</div><div><br></div><div>Cheers</div><div><br></div><div>Jakub</div><div><br></div><div><br></div><div> </div></div></div>