溫馨提示×

如何檢查Ubuntu Nginx SSL狀態

小樊
40
2025-10-19 04:15:56
欄目: 云計算

如何檢查Ubuntu Nginx SSL狀態

檢查Ubuntu服務器上Nginx的SSL狀態,需從證書有效性、配置正確性、連接狀態、服務運行情況等多維度驗證。以下是具體方法:

1. 檢查Nginx SSL配置是否正確

通過查看Nginx配置文件,確認SSL證書路徑、監聽端口等關鍵指令是否配置無誤。

# 查找Nginx配置文件(通常位于/etc/nginx/sites-available/或/etc/nginx/conf.d/)
ls /etc/nginx/sites-available/
# 檢查指定域名的配置文件(如yourdomain.com)
sudo nano /etc/nginx/sites-available/yourdomain.com

重點確認以下配置是否存在且路徑正確:

server {
    listen 443 ssl;                          # 必須監聽443端口
    server_name yourdomain.com www.yourdomain.com;
    ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;  # 證書路徑
    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem; # 私鑰路徑
    # 其他SSL配置(如ssl_protocols、ssl_ciphers等)
}

保存后測試配置語法是否正確:

sudo nginx -t

若輸出configuration file /etc/nginx/nginx.conf syntax is ok,則配置無誤。

2. 驗證SSL證書詳細信息與有效期

使用openssl命令獲取證書的頒發者、有效期、加密套件等信息,確保證書未過期且有效。

# 查看證書有效期(關鍵信息:notBefore、notAfter)
sudo openssl s_client -connect yourdomain.com:443 -servername yourdomain.com </dev/null 2>/dev/null | openssl x509 -noout -dates

# 查看證書完整詳情(包括頒發者、主題、加密算法等)
sudo openssl s_client -connect yourdomain.com:443 -servername yourdomain.com </dev/null 2>/dev/null | openssl x509 -noout -text
  • notAfter日期早于當前日期,需及時續期證書(如使用Certbot續期);
  • Verify return code不為0,則表示證書無效。

3. 測試HTTPS連接與TLS握手

通過curl命令模擬瀏覽器訪問,檢查HTTPS連接是否正常、TLS協議版本是否兼容。

# 檢查HTTP到HTTPS的重定向(若配置了301跳轉)
curl -I http://yourdomain.com
# 期望輸出包含:HTTP/1.1 301 Moved Permanently 和 Location: https://yourdomain.com/

# 檢查HTTPS連接詳情(包括TLS版本、加密套件、證書鏈)
curl -v https://yourdomain.com
  • 輸出中應包含SSL handshake成功的信息(如TLSv1.3TLSv1.2);
  • 若出現SSL_ERROR_SYSCALLcertificate verify failed,需檢查證書配置或網絡連接。

4. 檢查Nginx SSL模塊是否啟用

確認Nginx是否編譯了ngx_http_ssl_module模塊(默認編譯),若未啟用則無法支持SSL。

# 查看Nginx編譯選項
nginx -V 2>&1 | grep -o with-http_ssl_module
  • 若輸出with-http_ssl_module,則表示模塊已啟用;
  • 若未輸出,需重新編譯Nginx并添加該模塊(需備份原有配置)。

5. 使用Nginx狀態模塊查看SSL連接數(可選)

若啟用了ngx_http_stub_status_module模塊,可通過HTTP接口查看SSL連接數(需配置訪問權限)。

# 編輯Nginx配置文件(如/etc/nginx/nginx.conf)
sudo nano /etc/nginx/nginx.conf

server塊中添加以下內容(僅允許本地訪問):

location /nginx_status {
    stub_status on;
    access_log off;
    allow 127.0.0.1;
    deny all;
}

重啟Nginx使配置生效:

sudo systemctl restart nginx

通過瀏覽器或curl訪問狀態頁面:

curl http://127.0.0.1/nginx_status

輸出中的Writing列即為當前正在處理的SSL連接數(需配合stub_status模塊使用)。

6. 使用在線工具進行全面檢測

通過第三方工具(如SSL Labs的SSL Server Test)獲取SSL配置的詳細評分和建議,覆蓋證書、協議、加密套件等全方位檢查。

  • 訪問SSL Labs官網;
  • 輸入域名并點擊Submit;
  • 等待測試完成后,查看Configuration、Certificates、Protocols等標簽頁的詳細信息(理想評分為A或A+)。

通過以上方法,可全面檢查Ubuntu Nginx的SSL狀態,確保SSL配置正確、證書有效、連接安全。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女