invalid server name or wildcard,
明明就是想用通配符匹配多個(gè)子域,結(jié)果保存不成功,本文就來一步步講清楚,幫你從根本上解決這個(gè)問題,需要的朋友可以參考下" />

最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx報(bào)錯(cuò)“invalid server name or wildcard”的原因和解決方案

 更新時(shí)間:2025年10月21日 09:24:23   作者:一勺菠蘿丶  
很多人第一次給網(wǎng)站配置HTTPS時(shí),會(huì)遇到一個(gè)看似奇怪的報(bào)錯(cuò):
invalid server name or wildcard,
明明就是想用通配符匹配多個(gè)子域,結(jié)果保存不成功,本文就來一步步講清楚,幫你從根本上解決這個(gè)問題,需要的朋友可以參考下

很多人第一次給網(wǎng)站配置 HTTPS 時(shí),會(huì)遇到一個(gè)看似奇怪的報(bào)錯(cuò):

nginx: [emerg] invalid server name or wildcard "abc-*.example.cn" on 0.0.0.0:80

明明就是想用通配符匹配多個(gè)子域,結(jié)果保存不成功。

這其實(shí)不是語法寫錯(cuò),而是 Nginx 對通配符的使用范圍有限制。

本文就來一步步講清楚,幫你從根本上解決這個(gè)問題。

一、問題場景復(fù)現(xiàn)

假設(shè)你有兩個(gè)域名都在同一臺(tái)服務(wù)器上:

https://api.example.cn
https://web.example.cn

你在 Nginx 配置時(shí),想著簡單點(diǎn),寫成:

server_name abc-*.example.cn;

保存時(shí)卻直接報(bào)錯(cuò):

nginx: [emerg] invalid server name or wildcard "abc-*.example.cn"
nginx: configuration file test failed

這到底是哪里不對?

二、錯(cuò)誤原因:Nginx 不支持“中間通配”

Nginx 的通配符(*)規(guī)則是有限制的:

寫法是否支持示例說明
*.example.cn? 支持匹配 api.example.cn、web.example.cn? 通配符必須在最左邊
example.*? 支持匹配 example.cn、example.com? 通配符可以在最右邊
abc-*.example.cn? 不支持想匹配 abc-web.example.cnabc-api.example.cn? 通配符不能出現(xiàn)在中間

也就是說,你寫的 abc-*.example.cn非法的寫法

Nginx 不知道如何去匹配這類模式,因此直接拒絕加載。

三、正確寫法與最佳實(shí)踐

根據(jù)你的實(shí)際需求,有幾種安全可行的方式:

方案一:直接列出多個(gè)域名(最推薦)

如果只是幾個(gè)固定域名,比如:

api.example.cn
web.example.cn

那就直接列出來:

server_name api.example.cn web.example.cn;

這樣寫最清晰、兼容性最好,也不會(huì)報(bào)錯(cuò)。

方案二:使用標(biāo)準(zhǔn)通配符(同一層級)

如果你確實(shí)想讓一個(gè)配置同時(shí)匹配多個(gè)子域(例如網(wǎng)站很多個(gè)):

server_name *.example.cn;

這表示它可以匹配:

api.example.cnweb.example.cncdn.example.cn

但注意:

  • 只匹配一級子域xxx.example.cn),
  • 不會(huì)匹配多層結(jié)構(gòu)(如 a.api.example.cn)。

方案三:多個(gè)項(xiàng)目共用證書但分開配置

比如你同一臺(tái)服務(wù)器上部署了:

api.example.cnweb.example.cn

而另一臺(tái)服務(wù)器有:

shop.example.cn

這種情況下,你可以讓每臺(tái)服務(wù)器都使用同一張通配符證書(*.example.cn),
但在各自的 Nginx 里寫?yīng)毩⑴渲茫?/p>

在服務(wù)器 A

server_name api.example.cn web.example.cn;

在服務(wù)器 B

server_name shop.example.cn;

這樣能共用證書,又不會(huì)讓不同機(jī)器互相干擾。

四、完整可用示例(兩個(gè)域名在同一臺(tái)服務(wù)器)

下面這份配置可以直接用在寶塔或手動(dòng)編輯中:

# HTTP 自動(dòng)跳轉(zhuǎn) HTTPS
server {
    listen 80;
    server_name api.example.cn web.example.cn;
    return 301 https://$host$request_uri;
}

# HTTPS 配置
server {
    listen 443 ssl http2;
    server_name api.example.cn web.example.cn;

    ssl_certificate     /www/server/panel/vhost/cert/example.cn/fullchain.pem;
    ssl_certificate_key /www/server/panel/vhost/cert/example.cn/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;

    add_header Strict-Transport-Security "max-age=31536000";
    add_header X-Frame-Options SAMEORIGIN;
    add_header X-Content-Type-Options nosniff;

    # 根據(jù)訪問的域名切換網(wǎng)站目錄
    if ($host = api.example.cn) {
        root /www/wwwroot/api.example.cn/dist;
    }

    if ($host = web.example.cn) {
        root /www/wwwroot/web.example.cn/dist;
    }

    index index.html index.htm;
    try_files $uri $uri/ /index.html;

    access_log /www/wwwlogs/https-access.log;
    error_log  /www/wwwlogs/https-error.log;
}

五、證書建議

為了同時(shí)支持多個(gè)子域名:

  • 建議使用 通配符證書*.example.cn
  • 在簽發(fā)時(shí)選擇 DNS 驗(yàn)證 模式(HTTP 驗(yàn)證無法驗(yàn)證通配符)
  • 同一張證書可以放在多臺(tái)服務(wù)器上使用,只要路徑一致即可。

六、總結(jié)

問題原因正確做法
報(bào)錯(cuò) “invalid server name or wildcard”通配符出現(xiàn)在中間(abc-*.example.cn改為具體域名或標(biāo)準(zhǔn)通配(*.example.cn
想匹配多個(gè)域名可以空格分開多個(gè)域名server_name api.example.cn web.example.cn;
想共用 HTTPS 證書使用 *.example.cn 通配符證書多個(gè)子域共用
不同服務(wù)器不同站點(diǎn)各自獨(dú)立配置不互相影響

結(jié)語

如果你是第一次配置 HTTPS,建議遵循這兩條經(jīng)驗(yàn)法則:

寫具體域名最安全通配符只能在最左邊。

只要掌握這兩條,99% 的 Nginx 報(bào)錯(cuò)都能一次解決。

以上就是Nginx報(bào)錯(cuò)“invalid server name or wildcard”的原因和解決方案的詳細(xì)內(nèi)容,更多關(guān)于Nginx報(bào)錯(cuò)invalid server name or wildcard的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 前端將項(xiàng)目部署到服務(wù)器(Nginx)的完整步驟

    前端將項(xiàng)目部署到服務(wù)器(Nginx)的完整步驟

    最近寫了一個(gè)項(xiàng)目,需要進(jìn)行手機(jī)上測試,下面就需要前端自己將項(xiàng)目進(jìn)行部署,這篇文章主要給大家介紹了關(guān)于前端將項(xiàng)目部署到服務(wù)器(Nginx)的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • 使用nginx.exe時(shí)閃退的原因和解決方法

    使用nginx.exe時(shí)閃退的原因和解決方法

    最近使用老師給的nginx.exe時(shí),點(diǎn)擊nginx.exe突然屏幕就閃一下,經(jīng)過一番排查,發(fā)現(xiàn)是端口被占用所導(dǎo)致的,所以本文就給大家講講端口被占用時(shí)的解決方法詳細(xì)步驟,需要的朋友可以參考下
    2023-07-07
  • 詳解Nginx的超時(shí)keeplive_timeout配置步驟

    詳解Nginx的超時(shí)keeplive_timeout配置步驟

    Nginx 處理的每個(gè)請求均有相應(yīng)的超時(shí)設(shè)置,本文主要介紹了Nginx的超時(shí)keeplive_timeout配置步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Nginx的使用經(jīng)驗(yàn)小結(jié)

    Nginx的使用經(jīng)驗(yàn)小結(jié)

    相信很多人都聽過nginx,這個(gè)小巧的東西慢慢地在吞食apache和IIS的份額。今天我們就簡單介紹下本人在使用nginx的過程中的一些小小的經(jīng)驗(yàn)
    2017-10-10
  • Nginx的預(yù)定義變量方式

    Nginx的預(yù)定義變量方式

    這篇文章主要介紹了Nginx的預(yù)定義變量方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-07-07
  • 解決httpd占用80端口導(dǎo)致Nginx啟動(dòng)失敗報(bào)錯(cuò)的解決辦法

    解決httpd占用80端口導(dǎo)致Nginx啟動(dòng)失敗報(bào)錯(cuò)的解決辦法

    今天在建自己小網(wǎng)站時(shí)啟動(dòng)Nginx時(shí),發(fā)現(xiàn)其報(bào)下列錯(cuò)誤,意思是因?yàn)?0端口被占用導(dǎo)致Nginx啟動(dòng)失敗,所以本文小編給大家介紹介紹如何解決解決httpd占用80端口導(dǎo)致Nginx啟動(dòng)不成功報(bào)nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    2023-11-11
  • 當(dāng)Nginx所在服務(wù)器的磁盤空間滿時(shí)的影響以及如何避免這一問題

    當(dāng)Nginx所在服務(wù)器的磁盤空間滿時(shí)的影響以及如何避免這一問題

    Nginx所在服務(wù)器的磁盤空間滿了,會(huì)導(dǎo)致日志無法寫入、緩存失效、反向代理請求異常等問題,嚴(yán)重時(shí)可能導(dǎo)致服務(wù)不可用,這篇文章主要介紹了當(dāng)Nginx所在服務(wù)器的磁盤空間滿時(shí)的影響以及如何避免這一問題,需要的朋友可以參考下
    2024-12-12
  • Nginx?部署及配置詳細(xì)步驟(附詳細(xì)代碼)

    Nginx?部署及配置詳細(xì)步驟(附詳細(xì)代碼)

    Nginx是一個(gè)web服務(wù)器也可以用來做負(fù)載均衡及反向代理使用,目前使用最多的就是負(fù)載均衡,這篇文章主要介紹了Nginx部署及配置的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-11-11
  • nginx使用sticky基于cookie的會(huì)話保持方式

    nginx使用sticky基于cookie的會(huì)話保持方式

    這篇文章主要介紹了nginx使用sticky基于cookie的會(huì)話保持方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 詳解nginx高并發(fā)場景下的優(yōu)化

    詳解nginx高并發(fā)場景下的優(yōu)化

    這篇文章主要介紹了詳解nginx高并發(fā)場景下的優(yōu)化,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09

最新評論

郴州市| 喀喇沁旗| 措勤县| 阿拉善左旗| 盐源县| 肥城市| 洪泽县| 东至县| 阳信县| 炉霍县| 随州市| 榆社县| SHOW| 三穗县| 西乡县| 石城县| 临邑县| 满城县| 永川市| 五峰| 浦东新区| 夏津县| 咸丰县| 吉林省| 卢龙县| 漯河市| 克东县| 南华县| 新宁县| 迁安市| 九江市| 隆德县| 永安市| 措勤县| 海原县| 湘乡市| 称多县| 古蔺县| 晴隆县| 连江县| 汕尾市|