精华内容
下载资源
问答
  • Nginx server_name _ 啥意思?_=localhost?

    千次阅读 2021-12-02 14:11:15
    server_name _ 是啥意思? server_name _没啥意思。我觉得应该把这个替换掉。 假设配置是这样的 nginx.conf ... http { ... # Load modular configuration files from the /etc/nginx/conf.d directory. # See ...

    前言

    • nginx version: nginx/1.20.1
    • CentOS Linux release 7.9.2009 (Core)

    server_name _ 是啥意思?

    server_name _没啥意思。我觉得应该把这个替换掉。

    假设配置是这样的

    nginx.conf

    ...
    http {
        ...
    
        # Load modular configuration files from the /etc/nginx/conf.d directory.
        # See http://nginx.org/en/docs/ngx_core_module.html#include
        # for more information.
        include /etc/nginx/conf.d/*.conf;
    
        server {
            listen       80;
            listen       [::]:80;
            server_name  _;
            root         /usr/share/nginx/html;
    
            # Load configuration files for the default server block.
            include /etc/nginx/default.d/*.conf;
    
            ...
        }
    }
    ...
    

    /etc/nginx/default.d/目录下包含2个conf:

    • domainA.conf
    • domainB.conf

    nginx中有3个server_name,且生效顺序如下:

    • domainA
    • domainB
    • _

    当访问 http://localhost 时

    当访问 http://localhost 时,展示/usr/share/nginx/html/index.html的内容。
    localhost_匹配了(_=localhost)。

    当访问 http://127.0.0.1 时

    当访问 http://127.0.0.1 时,展示domainA的内容。
    127.0.0.1domainA匹配了( 127.0.0.1 无法与三者之中的任何一个匹配,默认选取第一个)。

    当访问 http://domainA 时

    当访问 http://domainA 时,展示domainA的内容。

    当访问 http://domainB 时

    当访问 http://domainB 时,展示domainA的内容。

    _=localhost

    server_name _;server_name localhost; 等效

    server_name 默认配置

    nginx.conf中的顺序改为:

    ...
    http {
        ...
        server {
            listen       80;
            listen       [::]:80;
            server_name  _;
            root         /usr/share/nginx/html;
    
            # Load configuration files for the default server block.
            include /etc/nginx/default.d/*.conf;
    
            ...
        }
        
        # Load modular configuration files from the /etc/nginx/conf.d directory.
        # See http://nginx.org/en/docs/ngx_core_module.html#include
        # for more information.
        include /etc/nginx/conf.d/*.conf;
    }
    ...
    
    展开全文
  • server_name指令 server_name:用来设置虚拟主机服务名称。 127.0.0.1 、 localhost 、域名[www.nginx1.com | www.nginx2.com] 语法 server_name name ...;<br/>name可以提供多个中间用空格分隔 ...

    server_name指令

    server_name:用来设置虚拟主机服务名称。

    127.0.0.1 、 localhost 、域名[www.nginx1.com | www.nginx2.com]

    语法server_name name ...;<br/>name可以提供多个中间用空格分隔
    默认值server_name "";
    位置server

    关于server_name的配置方式有三种,分别是:

    精确匹配
    通配符匹配
    正则表达式匹配

    配置方式一:精确匹配

    如:

    server {
    	listen 80;
    	server_name www.nginx1.cn www.nginx2.cn;
    	...
    }

    补充小知识点:

    hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。

    windows:C:\Windows\System32\drivers\etc

    centos:/etc/hosts

    因为域名是要收取一定的费用,所以我们可以使用修改hosts文件来制作一些虚拟域名来使用。需要修改 /etc/hosts文件来添加

    vim /etc/hosts
    127.0.0.1 www.nginx1.cn
    127.0.0.1 www.nginx2.cn

    展开全文
  • 配置方式二:使用通配符配置 ... server_name *.nginx1.cn www.nginx2.*; # www.nginx1.cn abc.nginx1.cn www.nginx2.cn www.nginx2.com ... } 下面的配置就会报错 server { listen 80; server_name www.*.c

    配置方式二:使用通配符配置

    server_name中支持通配符"*",但需要注意的是通配符不能出现在域名的中间,只能出现在首段或尾段,如:

    server {
    	listen 80;
    	server_name  *.nginx1.cn	www.nginx2.*;
    	# www.nginx1.cn abc.nginx1.cn www.nginx2.cn www.nginx2.com
    	...
    }

    下面的配置就会报错

    server {
    	listen 80;
    	server_name  www.*.cn www.nginx.c*
    	...
    }

    展开全文
  • server_name中可以使用正则表达式,并且使用~作为正则表达式字符串的开始标记。 常见的正则表达式 代码 说明 ^ 匹配搜索字符串开始位置 $ 匹配搜索字符串结束位置 . 匹配除换行符\n之外的任何...

    配置三:使用正则表达式配置

    server_name中可以使用正则表达式,并且使用~作为正则表达式字符串的开始标记。

    常见的正则表达式

    代码说明
    ^匹配搜索字符串开始位置
    $匹配搜索字符串结束位置
    .匹配除换行符\n之外的任何单个字符
    \转义字符,将下一个字符标记为特殊字符
    [xyz]字符集,与任意一个指定字符匹配
    [a-z]字符范围,匹配指定范围内的任何字符
    \w与以下任意字符匹配 A-Z a-z 0-9 和下划线,等效于[A-Za-z0-9_]
    \d数字字符匹配,等效于[0-9]
    {n}正好匹配n次
    {n,}至少匹配n次
    {n,m}匹配至少n次至多m次
    *零次或多次,等效于{0,}
    +一次或多次,等效于{1,}
    ?零次或一次,等效于{0,1}

    配置如下:

    server{
            listen 80;
            server_name ~^www\.(\w+)\.com$;
            default_type text/plain;
            return 200 $1  $2 ..;
    }
    注意 ~后面不能加空格,括号可以取值

    展开全文
  • 服务器虚拟主机名称是使用server_name指令定义的,并确定由哪个server块来处理给定的请求。参见nginx如何处理请求。它们可以由精确名称、通配符名称 或 正则表达式 来定义:1234567891011121314151617181920212223...
  • 1 server_name 详解⭐⭐ 每个server定义一个server_name 每个server_name可以指定一个或多个域名 1 匹配规则 = 2 配置范例 # 左匹配 server { listen 80; server_name *.nginx-test.com; root /usr/share/...
  • Nginx中的server_name指令主要用于配置基于名称的虚拟主机,server_name指令在接到请求后的匹配顺序分别为: 1、准确的server_name匹配,例如: server { listen 80; server_name domain.com www.domain.com; .....
  • Nginx中的server_name指令主要用于配置基于名称的虚拟主机,server_name指令在接到请求后, 将按照下面1,2,3,4的匹配顺序对server name进行匹配,只有有一项匹配以后就会停止搜索,所以我们在使用这个指令的时候一定...
  • 关于Nginxserver_name

    2021-05-17 08:58:18
    Nginx中的server_name指令主要用于配置基于名称的虚拟主机,server_name指令在接到请求后的匹配顺序分别为:1、准确的server_name匹配,例如:server {listen 80;server_name domain.com www.domain.com;...}2、以*...
  • nginx配置之server_name

    2021-01-31 14:57:41
    Nginx需要通过server_name实行匹配时,需要保证至少配置两个 server块,否则失效 #通过ip可正常访问,其他方式访问 返回 403 server{ listen 80; server_name localhost; return 403; } server { ...
  • 1. bug 描述 当请求 ...nginx.conf 配置如下 server { listen 443 ssl; server_name kaola.chengwithle.com; ... 省略 ssl 配置 ... rewrite ^/(.*)$ http://wndd.mayiapps.cn/$1 pe
  • Nginx初认识之 Nginx重载配置文件、热部署和更新日志 (一) Nginx初认识之 Nginx搭建静态资源服务器 (二) Nginx初认识之 Nginx搭建反向代理服务器 (三) Nginx...
  • host请求头参数与nginx的请求匹配详解~
  • 官网:Server names 翻译部分:Regular expressions names 开始! The regular expressions used by nginx are compatible with those used by the Perl ...To use a regular expression, the server name must s..
  • 在开发某个本地项目时,时常碰见配置了server_name后,重启nginx -s reload加载配置后依旧不生效的问题。常见的情况有三种 情况一:浏览器缓存问题 最常见的情况了。这种情况在浏览器设置里把缓存和历史都清一下,...
  • http请求中的host字段可能很少有人注意...假设有个nginx配置如下: server { listen 80; server_name www.a.com; return 200 '这是第一块server'; } server { listen 80; server_name www.b.com; return 200 '这
  • hosts文件配置域名转发到nginx服务器,nginx 仍然能够捕捉到域名 ...10.132.76.222上的nginx会去匹配server_name:myadautoweb.com 的server快配置 查看nginx中请求域名: 第11列也就是域名的那一列
  • 本人在学习nginx的时候被server_name的意义困扰了很久。又是查资料,又是请教人。最后还是自己测试出来的。 你搜到这篇文章说明你已经经过了基本的配置,但是还不懂其中的含义。 server name 为虚拟服务器的识别...
  • 当在nginx上配置大约20个反向代理站点时,重启nginx报错【could not build server_names_hash, you should increase server_names_hash_bucket_size: 32】。 该报错是由于server_name字段过长导致的。 解决办法: ...
  • 不设置 proxy_set_header Host 不设置 proxy_set_header Host 时,浏览器直接访问 nginx,获取到的 Host 是 proxy_pass 后面的值,即 $proxy_host 的值,参考 ...# cat ngx_header.conf ... server_name _
  • Nginx proxy_pass详解

    2021-01-28 09:14:43
    假设server_name为www.test.com当请求URL为http://www.test.com/zabbix/index.html时,以下示例的访问结果是示例1:location /zabbix/ {proxy_pass http://192.168.1.10;}结果1:...
  • 限制每台server的连接数,用于保护避免过载,可起到限流作用 。 # worker进程设置1个,便于测试观察成功的连接数 worker_processes 1; upstream tomcats { server 192.168.51.5:8080 max_conns=2; server 192.168....
  • Nginx error_page 指令

    千次阅读 2021-12-09 21:14:20
    NGINX 涉及参考文档: Nginx 官方文档 error_page 语法 Syntax: error_page code ... [=[response]] uri; Default: — Context: http, server, location, if in location 将针对指定错误相应码 重定向指定URI,...
  • nginx proxy_pass 443

    2021-04-26 21:26:27
    nginx 80端口proxy_pass转发接口请求到443 ... server 127.0.0.1:443;... server_name localhost; location ^~/api/ { proxy_pass https://abc.test.com/; proxy_ssl_certificate /etc/nginx/cert/123456
  • nginx: [emerg] directive "server_name" is not terminated by ";" in /usr/local/openresty/nginx/conf/nginx.conf:109 nginx: configuration file /usr/local/openresty/nginx/conf/nginx.conf test failed [root...
  • Nginx】valid_referers 参数绕坑指南

    千次阅读 2020-12-28 13:00:58
    Nginx 提供了valid_referers参数用于检查url中refer参数的状态,首先看下...能看到valid_referers总共有4种值可以使用,none、blocked、server_names、string。 我们暂且概括一下有3种值可以用: 1.none //直接访问ur
  • _SERVER[“SERVER_NAME”] 默认情况下直接输出nginx的配置文件nginx.conf中的server_name值。2. 当服务器为非80端口时:_SERVER[“HTTP_HOST”] 会输出端口号,例如:shangzh.com:8080_SERVER[“...
  • 有关history路由原理以及为什么刷新会404请查看往期文章 这里不再赘述为什么404的原因。 其实如果这么理解,可能会更加容易些。服务器会请求你所填写的真实地址...所以我们需要使用nginx的try_files,去查找index.html.
  • nginx一个server配置多域名多ssl证书

    千次阅读 2021-07-08 14:34:40
    多域名多证书可以使用多个server 多个子配置文件进行设置并且方便管理 还有一种就是一个server设置多个域名和ssl证书 看图 因为80端口不涉及证书 所以这里以443端口为例 server_name 中第二个域名与第一个域名...
  • 这个就是淘宝技术团队开发的 nginx 模块nginx_upstream_check_module,通过它可以用来检测后端 realserver 的健康状态。如果后端realserver不可用,则所有的请求就不会转发到该节点上。 在淘宝自己的 tengine 上是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 235,322
精华内容 94,128
关键字:

nginxserver_name使用

友情链接: checkedListBox.rar