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。

相关内容