零依賴(lài)!使用acme.sh設(shè)置nginx多個(gè)https證書(shū)自動(dòng)更新钓猬,無(wú)限續(xù)期https證書(shū)

在谷歌的推動(dòng)下走敌, 網(wǎng)站支持https幾乎成了剛需,而免費(fèi)的https證書(shū)大多只有一年的使用時(shí)間逗噩,且二級(jí)子域名需要單個(gè)申請(qǐng),而遇到https證書(shū)失效的情況跌榔, 基本就是一次生產(chǎn)事故异雁,為了徹底解決以上問(wèn)題, 本文提供一種通用的僧须, 無(wú)限續(xù)期https證書(shū)的教程纲刀。

安裝nginx

# 獲取源
sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
# 安裝Nginx
sudo yum install -y nginx
# 設(shè)置開(kāi)機(jī)啟動(dòng)
sudo systemctl enable nginx
# 開(kāi)啟nginx
sudo systemctl start nginx
# 重啟nginx
sudo systemctl restart nginx
# nginx重新加載配置文件
sudo systemctl reload nginx

以配置域名hk.v2fy.com為例, 新建配置文件 /etc/nginx/conf.d/hk.v2fy.com.conf

touch /etc/nginx/conf.d/hk.v2fy.com.conf

在 /etc/nginx/conf.d/hk.v2fy.com 中添加http服務(wù)相關(guān)內(nèi)容

server {
    listen       80;
    listen       [::]:80;
    server_name  hk.v2fy.com;
    root         /usr/share/nginx/html/hk.v2fy.com;

    error_page 404 /404.html;
    location = /404.html {
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    }
}

新建hk.v2fy.com對(duì)應(yīng)的網(wǎng)站文件夾

mkdir -p /usr/share/nginx/html/hk.v2fy.com

新建文件

touch /usr/share/nginx/html/hk.v2fy.com/index.html

在/usr/share/nginx/html/hk.v2fy.com/index.html 中輸入

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>V2方圓HK</title>
</head>
<body>
    Test
</body>
</html>

重啟nginx

···
sudo systemctl restart nginx
···

訪(fǎng)問(wèn)測(cè)試

http://hk.v2fy.com/
hk.v2fy.com

下面開(kāi)始添加https

安裝 acme.sh

curl  https://get.acme.sh | sh -s email=zhaoolee@gmail.com
source ~/.bashrc

獲取https證書(shū)

acme.sh --issue  -d hk.v2fy.com   --nginx
https證書(shū)生成的位置

在這一步acme.sh讀取了nginx配置担平,并自動(dòng)生成了證書(shū)

將證書(shū)拷貝到/etc/nginx/ssl文件夾

創(chuàng)建文件夾

mkdir -p /etc/nginx/ssl/hk.v2fy.com

拷貝證書(shū)

acme.sh --install-cert -d hk.v2fy.com \
--key-file       /etc/nginx/ssl/hk.v2fy.com/hk.v2fy.com.key  \
--fullchain-file  /etc/nginx/ssl/hk.v2fy.com/fullchain.cer \
--reloadcmd     "service nginx force-reload"

請(qǐng)一定使用以上語(yǔ)法acme.sh --install-cer進(jìn)行拷貝示绊, 這樣證書(shū)才能保證在新的位置也能自動(dòng)更新。

證書(shū)拷貝成功

將 /etc/nginx/ssl/hk.v2fy.com/ 中的證書(shū)手動(dòng)配置到 nginx, 并重啟nginx生效

/etc/nginx/conf.d/hk.v2fy.com.conf中的內(nèi)容替換為

server {
    listen       80;
    listen       [::]:80;
    server_name  hk.v2fy.com;
    root         /usr/share/nginx/html/hk.v2fy.com;

    error_page 404 /404.html;
    location = /404.html {
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    }
}


server {
    listen       443 ssl http2;
    listen       [::]:443 ssl http2;
    server_name  hk.v2fy.com;
    root         /usr/share/nginx/html/hk.v2fy.com;

    ssl_certificate "/etc/nginx/ssl/hk.v2fy.com/fullchain.cer";
    ssl_certificate_key "/etc/nginx/ssl/hk.v2fy.com/hk.v2fy.com.key";
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  10m;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

打開(kāi) https://hk.v2fy.com

證書(shū)已生效

證書(shū)獲得

由于我們?nèi)淌褂?acme.sh 進(jìn)行安裝暂论,acme.sh會(huì)自動(dòng)為你創(chuàng)建一個(gè)定時(shí)任務(wù), 每天 0:00 點(diǎn)自動(dòng)檢測(cè)所有的證書(shū), 如果快過(guò)期了, 需要更新, 則會(huì)自動(dòng)更新證書(shū).

自動(dòng)創(chuàng)建f

運(yùn)行ps aux | grep acme可以看到scme一直在后臺(tái)運(yùn)行

ps aux | grep acme

如何實(shí)現(xiàn)多個(gè)證書(shū)同步更新

如果你需要多個(gè)證書(shū)面褐,比如給 api.v2fy.com 配置證書(shū), 重復(fù)本文步驟即可~

acme.sh --issue  -d api.v2fy.com   --nginx
新證書(shū)

創(chuàng)建文件夾

mkdir -p /etc/nginx/ssl/api.v2fy.com

拷貝證書(shū)

acme.sh --install-cert -d api.v2fy.com \
--key-file       /etc/nginx/ssl/api.v2fy.com/api.v2fy.com.key  \
--fullchain-file  /etc/nginx/ssl/api.v2fy.com/fullchain.cer \
--reloadcmd     "service nginx force-reload"

設(shè)置 /etc/nginx/conf.d/api.v2fy.com.conf

server {
    listen       80;
    listen       [::]:80;
    server_name  api.v2fy.com;
    root         /usr/share/nginx/html/api.v2fy.com;

    error_page 404 /404.html;
    location = /404.html {
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    }
}


server {
    listen       443 ssl http2;
    listen       [::]:443 ssl http2;
    server_name  api.v2fy.com;
    root         /usr/share/nginx/html/api.v2fy.com;

    ssl_certificate "/etc/nginx/ssl/api.v2fy.com/fullchain.cer";
    ssl_certificate_key "/etc/nginx/ssl/api.v2fy.com/api.v2fy.com.key";
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  10m;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

打開(kāi) https://api.v2fy.com 查看效果

https配置成功

小結(jié)

免費(fèi)的https證書(shū)取胎,最多只有一年的期限展哭, 而且每個(gè)二級(jí)子域名要單獨(dú)申請(qǐng), 很浪費(fèi)時(shí)間闻蛀,使用本文提供的方法匪傍,可以只配置一次,實(shí)現(xiàn)證書(shū)永久自動(dòng)續(xù)期觉痛。

本文永久更新地址(歡迎來(lái)讀留言,寫(xiě)評(píng)論):

https://www.v2fy.com/p/2021-06-27-nginx-https-1624774964000

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末役衡,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子薪棒,更是在濱河造成了極大的恐慌手蝎,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件俐芯,死亡現(xiàn)場(chǎng)離奇詭異柑船,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)泼各,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)鞍时,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事逆巍〖疤粒” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵锐极,是天一觀的道長(zhǎng)笙僚。 經(jīng)常有香客問(wèn)我,道長(zhǎng)灵再,這世上最難降的妖魔是什么肋层? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮翎迁,結(jié)果婚禮上栋猖,老公的妹妹穿的比我還像新娘。我一直安慰自己汪榔,他們只是感情好蒲拉,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著痴腌,像睡著了一般雌团。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上士聪,一...
    開(kāi)封第一講書(shū)人閱讀 51,146評(píng)論 1 297
  • 那天锦援,我揣著相機(jī)與錄音,去河邊找鬼剥悟。 笑死雨涛,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的懦胞。 我是一名探鬼主播替久,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼躏尉!你這毒婦竟也來(lái)了蚯根?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤胀糜,失蹤者是張志新(化名)和其女友劉穎颅拦,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體教藻,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡距帅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了括堤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片碌秸。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡绍移,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出讥电,到底是詐尸還是另有隱情蹂窖,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布恩敌,位于F島的核電站瞬测,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏纠炮。R本人自食惡果不足惜月趟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望恢口。 院中可真熱鬧孝宗,春花似錦、人聲如沸弧蝇。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)看疗。三九已至,卻和暖如春睦授,著一層夾襖步出監(jiān)牢的瞬間两芳,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工去枷, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留怖辆,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓删顶,卻偏偏與公主長(zhǎng)得像竖螃,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子逗余,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容