Nginx配置多個(gè)SSL證書(shū)
海外云服務(wù)器 40個(gè)地區可選 亞太云服務(wù)器 香港 日本 韓國
云虛擬主機 個(gè)人和企業(yè)網(wǎng)站的理想選擇 俄羅斯電商外貿虛擬主機 贈送SSL證書(shū)
美國云虛擬主機 助力出海企業(yè)低成本上云 WAF網(wǎng)站防火墻 為您的業(yè)務(wù)網(wǎng)站保駕護航
在Nginx中配置多個(gè)SSL證書(shū)可以通過(guò)以下步驟實(shí)現。你需要安裝和配置每個(gè)SSL證書(shū),并將它們保存到Nginx可以訪(fǎng)問(wèn)的目錄中。你需要創(chuàng )建一個(gè)Nginx服務(wù)器塊文件來(lái)指定每個(gè)域名的SSL證書(shū)和私鑰。,,假設你有兩個(gè)域名:example.com
和www.example.com
,并且它們分別對應兩個(gè)不同的SSL證書(shū)。以下是具體的配置示例:,,1. **創(chuàng )建SSL證書(shū)和私鑰**:, - 為example.com
創(chuàng )建證書(shū)和私鑰:, ``bash, openssl req -new -newkey rsa:2048 -nodes -days 365 -x509 -keyout /etc/nginx/ssl/example.com.key -out /etc/nginx/ssl/example.com.crt,
`, - 為
www.example.com創(chuàng )建證書(shū)和私鑰:,
`bash, openssl req -new -newkey rsa:2048 -nodes -days 365 -x509 -keyout /etc/nginx/ssl/www.example.com.key -out /etc/nginx/ssl/www.example.com.crt,
`,,2. **創(chuàng )建Nginx服務(wù)器塊文件**:, - 創(chuàng )建一個(gè)名為
server_blocks/example.com.conf的文件:,
`nginx, server {, listen 443 ssl;, server_name example.com;,, ssl_certificate /etc/nginx/ssl/example.com.crt;, ssl_certificate_key /etc/nginx/ssl/example.com.key;,, # 其他配置..., },, server {, listen 443 ssl;, server_name www.example.com;,, ssl_certificate /etc/nginx/ssl/www.example.com.crt;, ssl_certificate_key /etc/nginx/ssl/www.example.com.key;,, # 其他配置..., },
`,,3. **加載服務(wù)器塊文件**:, - 將
server_blocks/example.com.conf添加到Nginx的主配置文件
nginx.conf中:,
`nginx, include /etc/nginx/conf.d/*.conf;,
`,,4. **重新加載Nginx**:, - 重新加載Nginx以應用新的配置:,
`bash, sudo systemctl reload nginx,
``,,通過(guò)以上步驟,你可以成功在Nginx中配置并啟用多個(gè)SSL證書(shū)。這樣,Nginx會(huì )根據請求的域名自動(dòng)選擇相應的SSL證書(shū)進(jìn)行加密傳輸。
```html
隨著(zhù)網(wǎng)絡(luò )的飛速發(fā)展和電子商務(wù)的普及,SSL/TLS協(xié)議的使用越來(lái)越廣泛,Nginx作為一款高性能的Web服務(wù)器,支持多種SSL/TLS證書(shū),可以輕松地實(shí)現多證書(shū)配置,本文將詳細介紹如何在Nginx中配置多個(gè)SSL證書(shū)。
1. 準備工作
你需要準備以下資源:
- 多個(gè)SSL證書(shū)
- 主證書(shū)(通常是你的域名證書(shū))
- 反向代理證書(shū)(用于后端服務(wù)),每個(gè)證書(shū)需要一個(gè)獨立的私鑰文件。
- SSL密鑰庫
- 如果你有多個(gè)證書(shū),并且希望統一管理它們,可以考慮使用OpenSSL生成一個(gè)SSL密鑰庫。
- 防火墻規則
- 確保你的服務(wù)器上配置了正確的防火墻規則,允許HTTPS流量通過(guò)。
如果還沒(méi)有安裝Nginx,可以使用包管理器進(jìn)行安裝,在Debian/Ubuntu系統上,可以運行以下命令:
3. 配置SSL證書(shū)sudo apt update
sudo apt install nginx
編輯Nginx的配置文件,通常位于/etc/nginx/sites-available/default
或/etc/nginx/conf.d/
目錄下,假設你有兩個(gè)SSL證書(shū),分別是www.example.com.crt
和backend.example.com.crt
,對應的私鑰文件分別為www.example.com.key
和backend.example.com.key
。
編輯配置文件:
sudo nano /etc/nginx/sites-available/default
添加以下配置塊:
server {
listen 80;
server_name www.example.com backend.example.com;
# 訪(fǎng)問(wèn)日志
access_log /var/log/nginx/access.log;
# 錯誤日志
error_log /var/log/nginx/error.log;
# 默認位置
location / {
proxy_pass http://localhost:8080; # 假設后端服務(wù)運行在8080端口
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;
}
# SSL配置
ssl_certificate /path/to/www.example.com.crt;
ssl_certificate_key /path/to/www.example.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384';
server {
listen 443 ssl;
server_name www.example.com;
# 訪(fǎng)問(wèn)日志
access_log /var/log/nginx/access.log;
# 錯誤日志
error_log /var/log/nginx/error.log;
# SSL配置
ssl_certificate /path/to/backend.example.com.crt;
ssl_certificate_key /path/to/backend.example.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384';
4. 測試配置
保存并關(guān)閉配置文件后,測試Nginx配置是否正確:
sudo nginx -t
如果沒(méi)有錯誤提示,則配置成功。
5. 重新加載Nginx
如果配置沒(méi)有問(wèn)題,重新加載Nginx以應用更改:
sudo systemctl reload nginx
6. 驗證配置
打開(kāi)瀏覽器,訪(fǎng)問(wèn)https://www.example.com
,確保能夠看到你的網(wǎng)站內容,并且使用的是正確的證書(shū)。
通過(guò)以上步驟,你可以在Nginx中成功配置多個(gè)SSL證書(shū),這種方法適用于大多數情況,但如果你有特定的需求或遇到問(wèn)題,請查閱Nginx官方文檔或尋求社區幫助。
```
這個(gè)修正后的版本更加清晰和易于理解,同時(shí)保留了原文的關(guān)鍵信息。
掃描二維碼推送至手機訪(fǎng)問(wèn)。
版權聲明:本文由特網(wǎng)科技發(fā)布,如需轉載請注明出處。