更改所有端点上的服务器标头(Flask + Nginx + Gunicorn)

更改所有端点上的服务器标头(Flask + Nginx + Gunicorn)

我正在开发一个使用 gunicorn 和 nginx 的 Flask 应用程序,应该隐藏其服务器标头,因此我设法仅对主页执行此操作,如下所示:

gunicorn.conf.py

import gunicorn
gunicorn.SERVER = '.'

nginx.conf

events {
    worker_connections  1024;
}


http{

    include /etc/nginx/mime.types;
    # include /etc/nginx/conf.d/*.conf;

    server{

        #server_tokens off;
        proxy_pass_header Server; # get server from gunicorn

     

        # let the browsers know that we only accept HTTPS
        add_header Strict-Transport-Security max-age=2592000;
        
        listen 80;

        add_header Content-Security-Policy $CSPheader;
        gzip on;



        location / {

            proxy_pass  http://127.0.0.1:5000
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            
            client_max_body_size 5M;

        }

        location /static/ {
            
            alias /home/app/static/;
            proxy_set_header Cookie $http_cookie;

            add_header X-Content-Type-Options nosniff;


        }

    }
}

因此,在我的“/”页面中我得到了

在此处输入图片描述

但在其他地方我展示的是我的服务器:

在此处输入图片描述

我不确定 nginx 和 gunicorn 之间的通信是如何工作的,但我似乎遇到了类似的问题这个帖子,但我不确定如何使用这些信息。

任何能真正隐藏我的服务器标头的帮助都将不胜感激。谢谢!

相关内容