nginx virtualhosts 如何知道域?
How does nginx virtualhosts know the domain?
Whosebug 社区您好!
nginx 如何知道 url 来自哪个域以便提供正确的页面?我尝试将域和完整的 url 添加到 Referer header,但这没有用。有什么方法可以访问服务器的 ip 并通过正确的请求获得网站吗?
Nginx 通过查看请求中的 Host
HTTP header 知道要服务哪个域。例如,如果您的服务器有多个虚拟主机(假设 domain1.com
和 domain2.com
),您可以使用以下 curl
命令从您的虚拟主机获取根 HTML 页面:
curl -H 'Host: domain1.com' <server_ip>
和
curl -H 'Host: domain2.com' <server_ip>
此外,对于 nginx 侦听的每个 IP 和端口组合,其中一个 vhost 将作为 default 之一。有关如何选择默认虚拟主机的更多详细信息,请参阅 How nginx processes a request official documentation page (or this 答案。
Whosebug 社区您好!
nginx 如何知道 url 来自哪个域以便提供正确的页面?我尝试将域和完整的 url 添加到 Referer header,但这没有用。有什么方法可以访问服务器的 ip 并通过正确的请求获得网站吗?
Nginx 通过查看请求中的 Host
HTTP header 知道要服务哪个域。例如,如果您的服务器有多个虚拟主机(假设 domain1.com
和 domain2.com
),您可以使用以下 curl
命令从您的虚拟主机获取根 HTML 页面:
curl -H 'Host: domain1.com' <server_ip>
和
curl -H 'Host: domain2.com' <server_ip>
此外,对于 nginx 侦听的每个 IP 和端口组合,其中一个 vhost 将作为 default 之一。有关如何选择默认虚拟主机的更多详细信息,请参阅 How nginx processes a request official documentation page (or this 答案。