首页 > 系统相关 >nginx请求是如何找到对应的vhost的

nginx请求是如何找到对应的vhost的

时间:2022-10-27 17:46:11浏览次数:78  
标签:请求 nginx 0.0 端口 server vhost ip listen

vhost和server对应

vhost的匹配逻辑

在请求nginx时,判断请求属于哪个vhost,主要是server块中的listenserver_name两个字段决定

listen

listen字段定义server响应的ip和端口,如果没有明确配置listen字段,默认监听0.0.0.0:80(root)或者0.0.0.0:8080(非root)

listen可以被配置为:

  • 一个ip和端口的组合
  • 一个单独的ip,默认监听80端口
  • 一个单独的端口,默认监听所有的ip接口
  • 一个unix socket路径

其中最后一项通常只用于在不同的server之间传递请求

server选择的规则

  • nginx首先将所有不完整的listen指令进行转换,比如没有listen字段的转换为listen 0.0.0.0:80,listen 1.1.1.1转换为listen 1.1.1.1:80等
  • nginx根据请求的ip和端口创建一个与请求最匹配的server块列表,优先匹配指定了特定ip的server块,其次才会选择listen 0.0.0.0的这种server块.但是无论是哪种情况,端口必须是完全匹配的

参考1
参考2

标签:请求,nginx,0.0,端口,server,vhost,ip,listen
From: https://www.cnblogs.com/chengjiawei/p/16833090.html

相关文章

  • Java 使用发送请求报错
    问题发送post请求报错javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIXpathbuildingfailed:sun.security.provider.cer......
  • 面试 考察网络请求HTTP相关知识(第六天!)
     01、HTTP常⻅的状态码有哪些?1xx服务器收到请求2xx请求成功     ---  200成功状态码3xx重定向      --- 301永久重定向,浏览器下次⾃动......
  • Nginx 命令行控制
    在Linux中,Nginx默认被安装在目录/usr/local/nginx中,其中二进制文件路径为/usr/local/nginx/sbin/nignx,配置文件路径为/usr/local/nginx/conf/nginx.conf。注:在con......
  • nginx启动命令
    启动加载配置文件[root@172sbin]#/usr/local/nginx/sbin/nginx-c/usr/local/nginx/conf/nginx.conf 检查配置信息是否正确[root@172sbin]#/usr/local/nginx/sbin......
  • 创建一个nginx资源清单
    注意selector一定要书写正确,否则通过集群IP:端口或者是节点ip:外部访问端口都无法访问apiVersion:v1kind:Podmetadata:name:test-podnamespace:testlabel......
  • 导致HTTP代理请求失败的原因
     在使用HTTP代理的过程中,并不会总是一帆风顺,HTTP代理请求数据失败的时候,就会让人非常恼火,有时候是第一次使用就失败了,有时候是使用了一段时间失败了,我们的第一反应......
  • nginxssl证书配置
    nginx可以用openssl自建的CA证书反向代理互联网的https网站吗?当然不行呀,证书是由权威机构颁发的文件,自己生成的证书并不具备可信度,所以必须要向CA申请证书。这样才能在互联......
  • nginxlocation优先级
    nginx反向代理一个server下配置多个location域名问题当你设置两个location/时,当然只会匹配第一个了。你的意思是不是要配置两个域名?server{listen80;server_namewww.1.com;......
  • nginx源码编译安装
    window版本的nginx能重新编译吗?如何添加新的模块呢找到安装nginx的源码根目录,如果没有的话下载新的源码xvzfnginx-1.3.2.tar.gz查看ngixn版本极其编译参数/usr/local/ngin......
  • nginxhttp转到https没有带端口
    nginxhttps自动跳转成http怎么解决您关闭301跳转,HTTPS自然就无法访问,如果您要HTTPS跳转HTTP,这个是不正确的行为,如果设置会导致搜索引擎蜘蛛混乱,无法确定实际网站,目前搜索......