nginx~对没有定义service_name的三级域名进行过滤


在nginx配置过程中,你可能遇到过三级域名(泛域名)的问题,当你没有定义它时,它会使用顶级域名的路由,你可以在配置中进行过滤.

server {
            listen       80;
            server_name  lind.company.cn *.lind.company.cn;

        #匹配没有定义过servicename的三级域名,让它去404
        if ($host ~* ^(.+)\.([^\.]+)\.([^\.]+)\.([^\.]+)$)
        {
           return 404;
        }

        location / {
            root   /home/web;
            index  index.html;
}
server {
            listen       80;
            server_name  abc.lind.company.cn;
}

经过上面的配置之后,当你输入abc.lind.company.cn它可以正常解析,而当你输入xyz.lind.company.cn时,它将返回到404页面。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM