【问题标题】:How does nginx virtualhosts know the domain?nginx 虚拟主机如何知道域?
【发布时间】:2021-12-29 18:56:23
【问题描述】:

你好 stackoverflow 社区!

nginx 如何知道 url 来自哪个域以便为正确的页面提供服务?我尝试将域和完整 url 添加到 Referer 标头,但这不起作用。有什么方法可以访问服务器的 ip 并通过正确的请求获取网站?

【问题讨论】:

    标签: nginx vhosts


    【解决方案1】:

    Nginx 通过查看请求中的Host HTTP 标头来知道要服务哪个域。例如,如果您的服务器具有多个虚拟主机(假设为 domain1.com 和 domain2.com),您可以使用以下 curl 命令从虚拟主机获取根 HTML 页面:

    curl -H 'Host: domain1.com' <server_ip>
    

    和

    curl -H 'Host: domain2.com' <server_ip>
    

    此外,对于 nginx 正在侦听的每个 IP 和端口组合,其中一个虚拟主机将充当 默认 虚拟主机。有关如何选择默认虚拟主机的更多详细信息,请参阅How nginx processes a request 官方文档页面(或this 答案)。

    【讨论】:

      猜你喜欢
      • 2011-02-22
      • 2014-11-12
      • 2012-12-24
      • 1970-01-01
      • 2016-05-12
      • 2013-09-18
      • 2021-05-09
      • 2017-09-25
      • 1970-01-01
      相关资源
      最近更新 更多