如何在 Nginx 中配置多個(gè) SSL 證書(shū)并進(jìn)行部署
海外云服務(wù)器 40個(gè)地區可選 亞太云服務(wù)器 香港 日本 韓國
云虛擬主機 個(gè)人和企業(yè)網(wǎng)站的理想選擇 俄羅斯電商外貿虛擬主機 贈送SSL證書(shū)
美國云虛擬主機 助力出海企業(yè)低成本上云 WAF網(wǎng)站防火墻 為您的業(yè)務(wù)網(wǎng)站保駕護航
Nginx 是一個(gè)高性能的 HTTP 和反向代理服務(wù)器,支持多種協(xié)議和安全特性。在部署 Nginx 時(shí),特別是在需要處理多個(gè) SSL 證書(shū)的情況下,可以通過(guò)以下步驟來(lái)實(shí)現:,,1. **安裝 Nginx**:確保你的系統上已經(jīng)安裝了 Nginx。,,2. **創(chuàng )建 SSL 配置文件**:為每個(gè) SSL 證書(shū)創(chuàng )建相應的配置文件。server1.conf
、server2.conf
等。,,3. **修改主配置文件**:編輯主配置文件nginx.conf
,添加include
指令以包含所有 SSL 配置文件。, ``nginx, include /etc/nginx/conf.d/*.conf;,
`,,4. **設置監聽(tīng)端口**:在每個(gè) SSL 配置文件中,指定不同的監聽(tīng)端口(如 443 和 80)。,,5. **配置 SSL 證書(shū)**:在每個(gè) SSL 配置文件中,指定 SSL 證書(shū)和密鑰文件路徑。,
`nginx, server {, listen 443 ssl;, server_name example.com;,, ssl_certificate /path/to/cert.pem;, ssl_certificate_key /path/to/key.pem;,, # 其他配置..., },
`,,6. **測試配置文件**:使用
nginx -t命令測試配置文件是否正確無(wú)誤。,,7. **重新加載 Nginx**:如果配置文件沒(méi)有問(wèn)題,使用
nginx -s reload` 命令重新加載 Nginx 以應用更改。,,通過(guò)以上步驟,你可以輕松地在 Nginx 中配置和部署多個(gè) SSL 證書(shū)。這使得你可以在不同的域名或子域名之間提供不同的服務(wù),并且可以方便地進(jìn)行擴展和維護。
前言
在現代互聯(lián)網(wǎng)中,SSL/TLS 是確保數據傳輸安全的重要手段,隨著(zhù)業(yè)務(wù)的發(fā)展和對隱私保護的要求增加,使用多個(gè) SSL 證書(shū)成為了一種常見(jiàn)的做法,本文將詳細介紹如何在 Nginx 中配置和部署多個(gè) SSL 證書(shū)。
一、安裝 Nginx
確保你的服務(wù)器上已經(jīng)安裝了 Nginx,如果沒(méi)有安裝,可以通過(guò)以下命令進(jìn)行安裝:
sudo apt-get update sudo apt-get install nginx
二、生成 SSL 證書(shū)
為了生成 SSL 證書(shū),可以使用 Let's Encrypt 這樣的免費服務(wù),或者自己購買(mǎi)證書(shū),這里我們選擇使用 Let's Encrypt。
1、安裝 Certbot:
sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt-get install certbot python3-certbot-nginx
2、獲取并安裝證書(shū):
sudo certbot --nginx -d example.com -d www.example.com
這將會(huì )自動(dòng)提示你選擇一個(gè)證書(shū)頒發(fā)機構(CA),然后按照提示完成證書(shū)的獲取和安裝。
三、配置 Nginx 使用多個(gè) SSL 證書(shū)
假設你有兩個(gè)域名example.com
和www.example.com
,并且它們分別對應不同的 SSL 證書(shū)。
1、編輯 Nginx 配置文件:
打開(kāi) Nginx 的默認配置文件:
sudo nano /etc/nginx/sites-available/default
2、添加多個(gè) server 塊:
在文件中添加兩個(gè) server 塊,每個(gè)塊對應一個(gè)域名。
server { listen 80; server_name example.com; return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; location / { proxy_pass http://backend_server; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } server { listen 80; server_name www.example.com; return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/www.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/www.example.com/privkey.pem; location / { proxy_pass http://backend_server; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
3、測試配置:
保存并退出編輯器后,測試 Nginx 配置是否正確:
sudo nginx -t
4、重新加載 Nginx:
如果配置正確,重新加載 Nginx 以應用更改:
sudo systemctl reload nginx
5、驗證證書(shū):
使用瀏覽器訪(fǎng)問(wèn)https://example.com
和https://www.example.com
,確認證書(shū)已正確安裝和生效。
四、注意事項
- 確保所有證書(shū)都與相應的域名匹配。
- 如果需要,可以在server
塊中添加其他配置選項,如location
塊中的try_files
、proxy_pass
等。
- 每個(gè)域名應該有對應的私鑰文件,通常位于/etc/letsencrypt/live/domain.com/privkey.pem
。
通過(guò)以上步驟,你就可以成功在 Nginx 中配置和部署多個(gè) SSL 證書(shū)了,這不僅提高了網(wǎng)站的安全性,也為你的用戶(hù)提供了更好的瀏覽體驗。
掃描二維碼推送至手機訪(fǎng)問(wèn)。
版權聲明:本文由特網(wǎng)科技發(fā)布,如需轉載請注明出處。