Security
我不確定我的伺服器上的基本身份驗證是否受到保護
這可能是一個非常愚蠢的問題,但我必須確保我對此感到滿意。
我使用基本身份驗證設置了一個 HTTPS 伺服器,但是當我連接到身份驗證頁面時,瀏覽器告訴我連接不安全,並在我登錄後告訴我連接是安全的。我想知道這是否安全,如果沒有,我怎樣才能使它安全?
配置(NGINX):
server { listen 80; server_name sub.example.com; return 301 https://$server_name$request_uri; } server { listen 443 ssl http2; server_name sub.example.com; ssl_ceerificate (certpath); ssl_certificate_key (certkeypath); ssl_trusted_certificate (anotherpath); ssl_dhparam (dhparam); ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA25$ ssl_ecdh_curve secp384r1; ssl_session_timeout 10m; ssl_session_cache shared:SSL:10m; ssl_session_tickets off; ssl_stapling on; ssl_stapling_verify on; add_header X-Content-Type-Options "nosniff" always; add_header X-Frame-Options "SAMEORIGIN" always; add_header X-XSS-Protection "1; mode=block" location / { auth_basic 'Nothing to see here'; proxy_pass http://localhost:4000/; } }
您的配置看起來不錯;這是瀏覽器行為不端。
您的站點已正確重定向到 https,並且基本身份驗證請求已通過 https 發送給您。但是瀏覽器在彈出對話框之前並沒有更新地址欄。有趣的是,我能夠在 Chrome 和 Firefox 上看到這種行為。也許這是因為瀏覽器在頁面載入完成之前(從它的角度來看)要求提供憑據?這是瀏覽器開發人員的問題。