• 3.nginx的特殊server_name及匹配


    听了server_name匹配顺序,而最重要的正则匹配自己却一无所知,羞愧的想把它们全部塞到脑壳里充实自己,不过当前还是先听师傅的先把地址记清楚吧。跟着师父边走边记。很快,小张便发现了不对劲,街上竟然有两家的府衙门口都是wyc.com,怎么会有一模一样的呢?根据师傅前面讲的server_name匹配顺序,这两个一样,后面的那个根本不会被匹配到的,是写错了吗?还是备用的?小张疑惑的问。

    “虽然他们server_name是一样的,但是还有一个重要的标志端口号port,而他们的端口号并不一样,接受的请求并不一样,分工很明确”,老王解释道。
    小张:“那为什么我们的凭条没有端口号呢?“
    老王:”其实我们也是有的,只是根据http协议,默认的端口号是80,约定成俗,后面大家就默认不写了。而https协议的端口默认是443。“

    快走到街道终点,看到了一个年轻小伙子正一脸着急拿着凭条来问路,沟通之后才知道,这个小伙子叫小李,和自己来自同一个乡,是刚入职的新手,可能是村民写错了server_name,找遍了全街也没找到可以匹配去处理的府衙,真找不到只能回去再来一次了。虽然这路途遥远,过程不易,但是抱怨无用,安抚了下他的情绪。老王看了下他的凭条wyc.com:8888,便准备告诉小张端口port的一个妙用。他们先来到了端口号为8888的三家门口,这三家server_name分别是wyc.xyx,wyc.abc,wyc.zzz都不能匹配。老王说,Nginx帝国已经考虑到了这个问题,如果在一个端口下所有的server_name都不能匹配,那么默认第一家就会处理。当然,有的端口也可能用default_server指令来明确某个府衙来处理都无法匹配的请求。而这三家中wyc.abc门口好像有default_server标志,你们只需要交给他就行。小李高兴的将信件交了过去,拿到了回信,他们决定吃个饭一起回乡。


    如图:wyc.com在端口8888没有对应的server_name,匹配到了default_server内容

    小张说原来端口号这么重要啊,甚至default_server都只是端口的一个属性,我以后要看仔细些。老王说listen的port不仅可以设置default_server,还有其他的用法。虽然大部分人都写的server_name,大家可以根据名字在行政街找到,但是也有人喜欢直接填写地址,这样就没有server_name去对应了,如192.168.0.108:8888,这种时候,我们要根据地址和端口找到对应的部门,如果找不到依然去端口8888指定default_server 去处理就好了。

  • 相关阅读:
    安卓监听帧动画结束
    零基础学python-13.4 文件上使用列表解析与列表解析扩展
    零基础学python-13.3 列表解析简介与步骤分解
    零基础学python-13.2 手动迭代:iter和next
    零基础学python-13.1 迭代器简介与文件迭代器
    零基础学python-12.6 使用for和zip来并行使用多个序列
    零基础学python-12.5 修改列表的误区以及使用for和range修改列表
    零基础学python-12.4 while、for与range联合使用
    零基础学python-12.3 for循环
    零基础学python-12.2 关键字pass,else,break,continue
  • 原文地址:https://www.cnblogs.com/mentalidade/p/13966400.html
Copyright © 2020-2023  润新知