在Debian系統中配置Nginx以支持TLS 3,你需要確保你的Nginx版本至少是1.1.1,因為TLS 3是在Nginx 1.1.1中引入的。以下是配置Nginx以支持TLS 3的步驟:
更新Nginx: 首先,確保你的Nginx版本至少是1.1.1。你可以通過運行以下命令來更新Nginx:
sudo apt update
sudo apt upgrade nginx
如果你的系統中的Nginx版本低于1.1.1,你可能需要從源代碼編譯Nginx或者查找可用的PPA來安裝更新的版本。
安裝依賴: 如果你需要從源代碼編譯Nginx,你需要安裝一些必要的依賴包:
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g-dev openssl libssl-dev
下載并編譯Nginx: 下載Nginx的源代碼,并進行配置和編譯。在配置時,確保啟用了TLS 3相關的選項:
wget http://nginx.org/download/nginx-1.21.6.tar.gz
tar -zxvf nginx-1.21.6.tar.gz
cd nginx-1.21.6
./configure --with-http_ssl_module --with-openssl=openssl-3.0
make
sudo make install
請注意,上面的命令使用了一個特定的Nginx版本(1.21.6),你應該下載并使用最新的穩定版本。
配置Nginx:
編輯Nginx的配置文件,通常位于/etc/nginx/nginx.conf或/etc/nginx/sites-available/your_domain。確保你的SSL配置部分包含了以下內容:
server {
listen 443 ssl http2;
server_name your_domain.com;
ssl_certificate /path/to/your/fullchain.pem;
ssl_certificate_key /path/to/your/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3; # 啟用TLS 1.2和TLS 1.3
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
# 其他配置...
}
確保ssl_protocols指令包含了TLSv1.3。
重啟Nginx: 保存配置文件后,重啟Nginx以應用更改:
sudo nginx -t # 檢查配置文件是否有語法錯誤
sudo systemctl restart nginx # 重啟Nginx服務
測試TLS 3連接:
使用支持TLS 3的客戶端或在線工具來測試你的服務器是否正確配置了TLS 3。例如,你可以使用curl命令:
curl --tlsv1.3 https://your_domain.com
如果服務器正確配置了TLS 3,上述命令應該能夠成功執行。
請注意,TLS 3的推廣和使用可能還需要一些時間,因為并非所有的客戶端和服務器都支持它。確保你的目標用戶群體使用的客戶端支持TLS 3。