溫馨提示×

Nginx SSL如何配置CSP

小樊
45
2025-08-12 12:18:55
欄目: 云計算

在Nginx中配置Content Security Policy (CSP) 可以提高網站的安全性,防止跨站腳本攻擊(XSS)和其他代碼注入攻擊。CSP通過指定允許加載的資源來源來實現這一目的。以下是如何在Nginx中配置CSP的步驟:

  1. 編輯Nginx配置文件: 打開你的Nginx配置文件,通常位于 /etc/nginx/nginx.conf/etc/nginx/sites-available/yourdomain.com。

  2. 添加CSP頭: 在 serverlocation 塊中添加 add_header 指令來設置CSP頭。你可以根據需要自定義CSP策略。

    以下是一個基本的CSP配置示例:

    server {
        listen 443 ssl;
        server_name yourdomain.com;
    
        ssl_certificate /path/to/your/fullchain.pem;
        ssl_certificate_key /path/to/your/privkey.pem;
    
        location / {
            add_header Content-Security-Policy "default-src 'self'; script-src 'self' https://trustedscripts.example.com; object-src 'none';";
            # 其他配置...
        }
    }
    

    在這個示例中:

    • default-src 'self';:默認情況下,只允許從當前域加載資源。
    • script-src 'self' https://trustedscripts.example.com;:允許從當前域和 https://trustedscripts.example.com 加載腳本。
    • object-src 'none';:不允許加載任何插件(如 <object>, <embed>, <applet> 等)。
  3. 測試配置: 在重新加載Nginx之前,使用以下命令測試配置文件是否有語法錯誤:

    sudo nginx -t
    
  4. 重新加載Nginx: 如果配置文件沒有問題,重新加載Nginx以應用更改:

    sudo systemctl reload nginx
    
  5. 驗證CSP頭: 使用瀏覽器開發者工具或在線工具(如 CSP Evaluator)來驗證CSP頭是否正確設置。

更復雜的CSP策略

你可以根據具體需求定制更復雜的CSP策略。例如:

  • 允許圖片從特定域加載

    add_header Content-Security-Policy "default-src 'self'; img-src 'self' https://trustedimages.example.com;";
    
  • 允許字體從特定域加載

    add_header Content-Security-Policy "default-src 'self'; font-src 'self' https://trustedfonts.example.com;";
    
  • 允許樣式表從特定域加載

    add_header Content-Security-Policy "default-src 'self'; style-src 'self' https://trustedstyles.example.com;";
    
  • 允許連接WebSocket

    add_header Content-Security-Policy "default-src 'self'; connect-src 'self' wss://trustedws.example.com;";
    

通過這些步驟,你可以在Nginx中配置CSP,從而提高網站的安全性。

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