這可能是一個非常愚蠢的問題,但我必須確保我對此沒問題。
我使用基本驗證設定了 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/;
}
}
答案1
您的配置看起來不錯;這是瀏覽器行為不當。
您的網站正確重定向到 https,並且基本身份驗證請求已透過 https 發送給您。但瀏覽器在彈出對話框之前並沒有更新網址列。有趣的是,我在 Chrome 和 Firefox 上都看到了這種行為。也許這是因為瀏覽器在頁面加載完成之前(從其角度來看)要求提供憑證?這是瀏覽器開發人員的問題。