nginx优化2

> X-Content-Type-Options响应头缺失

> 参考:https://www.cnblogs.com/jerry-0910/p/15624810.html

详情描述

X-Content-Type-Options HTTP 消息头相当于一个提示标志,被服务器用来提示客户端一定要遵循在 Content-Type 首部中对
MIME 类型 的设定,而不能对其进行修改。这就禁用了客户端的 MIME
类型嗅探行为,换句话说,也就是意味着网站管理员确定自己的设置没有问题。 
X-Content-Type-Options响应头的缺失使得目标URL更易遭受跨站脚本攻击

解决办法:
将您的服务器配置为在所有传出请求上发送值为“nosniff”的“X-Content-Type-Options”头。

# add_header X-Content-Type-Options: nosniff;
# 如果服务器发送响应头 “X-Content-Type-Options: nosniff”,则 script 和 styleSheet
# 元素会拒绝包含错误的 MIME 类型的响应。这是一种安全功能,有助于防止基于 MIME 类型混淆的攻击。

具体操作

> 格式如下
location / {
    ...
    add_header X-Content-Type-Options nosniff;
    ...
}

> HTTP X-Download-Options 响应头缺失

详情描述

Web 服务器对于 HTTP 请求的响应头中缺少 X-Download-Options会导致浏览器提供的安全特性失效,容易遭受 Web 前端黑客攻击的影响。
可以使用X-Download-Options标头下载所请求的数据。 X-Download Options标头可在Internet Explorer 8及更高版本的浏览器中使用。
这个标头就像一个深度防御机制,特别适合于允许用户上传内容的应用程序,避免用户直接打开其上传的包含恶意代码的文件,
通过向X-Download-Options HTTP头添加noopen指令来删除用户必须打开文件的选项。

解决方法:
add_header X-Download-Options noopen

location / {
    ...
    add_header X-Download-Options "noopen" always;
    ...
}

> HTTP X-Permitted-Cross-Domain-Policies 响应头缺失

参考:
https://zhuanlan.zhihu.com/p/335165168
http://t.csdn.cn/WIEdy

详情描述

X-Permitted-Cross-Domain-Policies
用于指定当不能将crossdomain.xml文件(当需要从别的域名中的某个文件中读取 Flash 内容时用于进行必要设置的策略文件)放置在网站根目录等场合时采取的替代策略。
常用的配置值:master-only 只允许使用主策略文件(/crossdomain.xml)

解决方法
add_header X-Permitted-Cross-Domain-Policies master-only;

location / {
    ...
    add_header X-Permitted-Cross-Domain-Policies master-only;
    ...
}

> HTTP Content-Security-Policy 响应头缺失

参考:
https://www.cnblogs.com/oneapm/p/5168793.html
http://t.csdn.cn/Tt7Rv
location / {
    ...
    add_header Content-Security-Policy: default-src 'self';
    ...
}

> HTTP Strict-Transport-Security 响应头缺失

参考:
http://www.04007.cn/article/1141.html
https://zhuanlan.zhihu.com/p/428634096

问题描述
HTTP Strict-Transport-Security 可以限定浏览器只能通过HTTPS访问当前资源,禁止HTTP方式。

server {
    listen       443;
    server_name  ds.v.com;

    location / {
        ...
        add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
        ...
    }
}

> HTTP X-XSS-Protection 响应头缺失

参考:
http://t.csdn.cn/juYoW
https://zhuanlan.zhihu.com/p/428634427
server {
      listen       443;
      server_name  ds.v.com;  # 驾驶安全

      location / {
          client_body_timeout  7200;
          proxy_read_timeout 7200;
          proxy_send_timeout 7200;
          proxy_pass   http://127.0.0.1:9005/;
          proxy_cookie_path / "/; httponly; secure; SameSite=Lax";
          add_header X-Content-Type-Options nosniff;
          
          add_header X-XSS-Protection 1;   # 添加这两行
          add_header X-XSS-Protection mode=block;
      }

      ssl_certificate     "/etc/nginx/ssl/ds/ds.v.com.pem";
      ssl_certificate_key "/etc/nginx/ssl/ds/ds.v.com.key";
      # ssl_protocols      TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
      ssl_protocols      TLSv1.3;

      ssl_session_cache shared:SSL:1m;
      ssl_session_timeout  10m;
      ssl_ciphers HIGH:!aNULL:!MD5;
      ssl_prefer_server_ciphers on;
    }

> HTTP Referrer-Policy 响应头缺失

> # nginx中增加对Referrer的控制
add_header  Referrer-Policy  "origin-when-crossorigin";
add_header 'Referrer-Policy' 'origin';
add_header 'Referrer-Policy' 'unsafe-url';
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nginx是一个高性能的Web服务器和反向代理服务器,它具有占用资源少、处理请求快、支持高并发等优点,但是在大流量环境下,需要对Nginx进行优化,以提高性能和稳定性。 以下是一些Nginx优化的建议: 1. 调整worker_processes参数 worker_processes参数是Nginx的工作进程数,建议将其设置为CPU核心数的两倍。 例如,如果你的服务器有8个CPU核心,则可以将worker_processes设置为16。 2. 增加worker_connections参数 worker_connections参数表示每个工作进程可以同时处理的连接数,建议将其设置为1024或更高。 可以通过以下命令查看当前系统的最大连接数: ``` ulimit -n ``` 如果当前值较小,则需要增加该值: ``` ulimit -n 65535 ``` 3. 开启TCP Keepalive TCP Keepalive可以在连接空闲一段时间后,自动发送一个探测包,以保持连接的有效性。 可以通过以下命令开启TCP Keepalive: ``` tcp_nodelay on; tcp_nopush on; keepalive_timeout 60s; ``` 其中,keepalive_timeout表示空闲连接的超时时间。 4. 启用gzip压缩 启用gzip压缩可以减少传输数据量,提高网站的响应速度。 可以通过以下命令开启gzip压缩: ``` gzip on; gzip_min_length 1k; gzip_buffers 16 64k; gzip_http_version 1.1; gzip_comp_level 6; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; ``` 其中,gzip_types表示需要压缩的文件类型。 5. 限制请求速率 限制请求速率可以防止恶意攻击和DDoS攻击。 可以通过以下命令限制请求速率: ``` limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; ``` 其中,$binary_remote_addr表示客户端IP地址,zone表示限制区域,10m表示限制区域的内存大小,rate表示请求速率。 6. 缓存静态文件 缓存静态文件可以减少文件的读取次数,提高网站的响应速度。 可以通过以下命令缓存静态文件: ``` location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 1d; add_header Cache-Control "public"; } ``` 其中,expires表示文件的过期时间,add_header表示响应头信息。 以上是一些Nginx优化建议,需要根据实际情况进行调整和优化

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值