Nginx是我日常工作中不可或缺的工具。今天,我将结合实战经验,详细总结Nginx在域名配置、URI匹配、重定向和代理方面的应用,并通过具体的示例代码和运行结果,带大家深入理解这些功能。
一、配置server对应的域名
server_name
是虚拟服务器的识别路径,Nginx通过请求头中的HOST
字段,将请求匹配到特定的server
块,然后转发到对应的应用服务器。
1. 精确匹配
Nginx配置示例:
server {
listen 80;
server_name example.com;
# 其他配置...
}
请求结果:
- 当请求头中的
HOST
为example.com
时,请求会被匹配到这个server
块。
2. 通配符匹配
- 以
*
通配符开始的最长字符串:
server {
listen 80;
server_name *.example.com;
# 其他配置...
}
- 以
*
通配符结束的最长字符串:
server {
listen 80;
server_name example.*.com; # 注意:这种写法是非法的,仅作说明
# 实际应使用具体域名或合法通配符
}
(注:my.*.com
这种写法是非法的,星号必须位于起始或结尾处,且不能与其他字符直接相连。)
3. 正则表达式匹配
示例配置:
server {
listen 80;
server_name ~^www\..+\.com$;
# 其他配置...
}
解释说明:
~
:表示大小写敏感的正则。^
:匹配字符串