nginx 中的設定將導致 Google Chrome 出現安全性警告

nginx 中的設定將導致 Google Chrome 出現安全性警告

自 2 天以來,我們的用戶在嘗試登入我們的服務時收到以下警告:

警告

英文版:

您要提交的資訊不安全

由於此網站使用的連接並不完全安全,因此其他人將可以看到您的資訊。

仍然發送 返回

這是我們使用的 nginx 中的設置,並且在過去 3 年中一直有效,沒有任何問題。它仍然有效,但在 Chrome 上它會產生警告。


events {

}

http {

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;

    index index.html index.htm index.nginx-debian.html;

    server_name _;

    location / {
        try_files $uri $uri/ =404;
    }
}

server {
  listen                443;
  server_name           server.example.com;
  client_max_body_size  100M;

  ssl on;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
  ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
  ssl_prefer_server_ciphers on;
  ssl_session_cache shared:SSL:10m;

  ssl_certificate /etc/certs/fullchain.pem; # managed by Certbot
  ssl_certificate_key /etc/certs/privkey.pem; # managed by Certbot



    location /ErrorPages/ {
        alias /etc/nginx/ErrorPages/;
        internal;
    }

  
   location / {

    proxy_pass          http://shinyproxy:4000; ### Übernahme der servicenamen aus Docker-compose

    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_read_timeout 600s;

    proxy_redirect    off;
    proxy_set_header  Host             $http_host;
    proxy_set_header  X-Real-IP        $remote_addr;
    proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
    proxy_set_header  X-Forwarded-Protocol $scheme;
    proxy_set_header  X-Forwarded-Proto https;

    }

    location /api/ {
        include uwsgi_params;
        uwsgi_pass flask:8080;
    }


   location /auth/ {
   
    proxy_pass          https://keycloak:8443; ### Übernahme der servicenamen aus Docker-compose

    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_read_timeout 600s;

    proxy_redirect    off;
    proxy_set_header  Host             $http_host;
    proxy_set_header  X-Real-IP        $remote_addr;
    proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
    proxy_set_header  X-Forwarded-Proto $scheme;
    proxy_set_header  X-Forwarded-Proto https;

    }
    
}

server {
    if ($host = server.example.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen 80 ;
    listen [::]:80 ;
    server_name server.example.com;
    return 404; # managed by Certbot
}

}

我找到了這個線程: https://bugs.chromium.org/p/chromium/issues/detail?id=1158169#c49

這似乎可以解釋這一點。我對 nginx 的了解只是非常基礎,但是有人可以在這裡提出解決方法嗎?

答案1

此警告是Chrome 86 中的新增內容,當您的Web 應用程式嘗試透過HTTP 而不是HTTPS 提交表單(或者,正如您連結到的錯誤所提到的那樣,透過HTTP 重定向回應此類表單提交)時,就會出現此警告。檢查您的 Web 應用程式的 HTML 表單,並確保它發佈到 HTTPS URL,而不是 HTTP URL,並且所有重新導向都指向 HTTPS URL。

相關內容