網站首頁 編程語言 正文
前言
作為nginx的http模塊中的重要指令,對于使用nginx的同學來說,有必要做深入的了解;
server_name指令
用于設置虛擬主機服務名稱,如:127.0.0.1 、 localhost 、域名[www.baidu.com | www.jd.com]
關于 server_name 的配置方式有三種,分別是:
- 精確匹配
- 通配符匹配
- 正則表達式匹配
精確匹配配置
server {
listen 80;
server_name www.baidu.com www.localhost;
}
如下:在windows本地的nginx.conf配置文件中配置了如下參數
?需要注意的是,如果是在實際的生產服務器上面進行配置的話,域名一定是有效的,server_name可以配置多個,然后重啟nginx服務,訪問下試試,可以看到通過兩種方式都可以訪問到nginx;
?通配符模式配置
server_name 中支持通配符 "*", 但需要注意的是通配符不能出現在域名的中間,只能出現在首段或尾段
server_name localhost www.zcy.*;
如本地的nginx按照上面的配置,重啟nginx服務之后,通過瀏覽器進行訪問,可以看到均可以訪問到;
正則表達式配置
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_name ~^www\.(\w+)\.com$;
重啟nginx服務,瀏覽器訪問上面的地址,可以看到仍然能正常訪問
server_name與host匹配優先級如下:
1、完全匹配
2、通配符在前的,如*.test.com
3、在后的,如www.test.*
4、正則匹配,如~^\.www\.test\.com$
如果都不匹配
1、優先選擇listen配置項后有default或default_server的
2、找到匹配listen端口的第一個server塊
原文鏈接:https://blog.csdn.net/congge_study/article/details/124907421
相關推薦
- 2022-03-29 Python函數裝飾器的使用詳解_python
- 2022-09-26 go使用makefile腳本編譯應用的方法小結_Golang
- 2023-01-02 C++?命名空間?using聲明使用示例詳解_C 語言
- 2022-05-24 Golang?錯誤捕獲Panic與Recover的使用_Golang
- 2021-12-12 C/C++?Qt?MdiArea?多窗體組件應用教程_C 語言
- 2023-07-04 SpringBoot不在使用@Validated 做參數校驗但是不想在Controller層怎么辦?
- 2022-06-21 C#連接數據庫的幾種方法_C#教程
- 2023-06-03 Django使用jinja2模板的實現_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支