文章插图
gzip配置在nginx.conf文件中已经存在,只不过默认是注释的状态,只需将注释符号去掉即可##%20#%20Gzip%20Settings%20##%20gzip%20on;%20gzip_disable%20"msie6";%20gzip_vary%20on;%20gzip_proxied%20any;%20gzip_comp_level%206;%20gzip_buffers%2016%208k;%20gzip_http_version%201.1;%20gzip_types%20text/plain%20text/css%20Application/json%20application/JAVAscript%20text/xml%20application/xml%20application/xml+rss%20text/JavaScript;缓存配置

文章插图
如果服务器中存在静态资源,可设置本地强缓存 。expires 7d表示在本地缓存7天
location / { expires 7d; ... }设置完成后,浏览器会自动添加expires和cache-control字段,而对于协商缓存Etag和Last-Modified,nginx默认开启,无需配置 。
CSP配置
跨域脚本攻击 XSS 是最常见、危害最大的网页安全漏洞 。为了防止它们,要采取很多编程措施,非常麻烦 。很多人提出,能不能根本上解决问题,浏览器自动禁止外部注入恶意脚本?这就是"网页安全政策"(Content Security Policy,缩写 CSP)的来历 。
CSP 的实质就是白名单制度,开发者明确告诉客户端,哪些外部资源可以加载和执行,等同于提供白名单 。它的实现和执行全部由浏览器完成,开发者只需提供配置
目前,CSP有如下指令
指令 指令值示例 说明default-src 'self' cnd.a.com 定义针对所有类型(js、image、css、web font,ajax 请求,iframe,多媒体等)资源的默认加载策略,某类型资源如果没有单独定义策略,就使用默认的 。script-src 'self' js.a.com 定义针对 JavaScript 的加载策略 。style-src 'self' css.a.com 定义针对样式的加载策略 。img-src 'self' img.a.com 定义针对图片的加载策略 。connect-src 'self' 针对 Ajax、WebSocket 等请求的加载策略 。不允许的情况下,浏览器会模拟一个状态为 400 的响应 。font-src font.a.com 针对 WebFont 的加载策略 。object-src 'self' 针对 <object>、<embed> 或 <applet> 等标签引入的 flash 等插件的加载策略 。media-src media.a.com 针对 <audio> 或 <video> 等标签引入的 HTML 多媒体的加载策略 。frame-src 'self' 针对 frame 的加载策略 。sandbox allow-forms 对请求的资源启用 sandbox(类似于 iframe 的 sandbox 属性) 。report-uri /report-uri 告诉浏览器如果请求的资源不被策略允许时,往哪个地址提交日志信息 。特别的:如果想让浏览器只汇报日志,不阻止任何内容,可以改用 Content-Security-Policy-Report-Only 头 。指令值可以由下面这些内容组成:
指令值 指令示例 说明img-src 允许任何内容 。'none' img-src 'none' 不允许任何内容 。'self' img-src 'self' 允许来自相同来源的内容(相同的协议、域名和端口) 。data: img-src data: 允许 data: 协议(如 base64 编码的图片) 。www.a.com img-src img.a.com 允许加载指定域名的资源 。.a.com img-src .a.com 允许加载 a.com 任何子域的资源 。https://img.com img-src https://img.com 允许加载 img.com 的 https 资源(协议需匹配) 。https: img-src https: 允许加载 https 资源 。'unsafe-inline' script-src 'unsafe-inline' 允许加载 inline 资源(例如常见的 style 属性,onclick,inline js 和 inline css 等等) 。'unsafe-eval' script-src 'unsafe-eval' 允许加载动态 js 代码,例如 eval() 。admin.xiaohuochai.cc中的CSP配置如下
add_header Content-Security-Policy "default-src 'self';script-src 'self' 'unsafe-inline' 'unsafe-eval';img-src 'self' data: https://pic.xiaohuochai.site https://static.xiaohuochai.site;style-src 'self' 'unsafe-inline';frame-src https://demo.xiaohuochai.site https://xiaohuochai.site;";隐藏信息
在请求响应头中,有这么一行 server: nginx,说明用的是 Nginx 服务器,但并没有具体的版本号 。由于某些 Nginx 漏洞只存在于特定的版本,隐藏版本号可以提高安全性 。这只需要在配置里加上这个就可以了:
server_tokens off;配置流程
下面在/etc/nginx/conf.d下新建一个配置文件,命名为test-8081.conf,内容如下
注意:一般以域名-端口号来命名配置文件
upstream xiaohuochai { server 127.0.0.1:8081;}server{ listen 80; server_name 1.2.3.4; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forward-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Nginx-Proxy true; proxy_pass http://test; proxy_redirect off; }}
推荐阅读
- 上虞,日本茶叶防霜冻系统投入使用
- 如何快速学会使用万能表?弄懂这8个功能是关键
- 茄子怎么做才好吃?教你简单家常做法,蒜香味浓郁,特别下饭
- 专家教你秋冬如何饮茶以及鉴别 收藏紫砂
- 上海|一次申请重复使用!上海“核酸码”明日起全市推广:做核酸更方便
- 电子消毒柜原理 电子消毒柜使用方法
- 臭氧消毒柜怎么样 臭氧消毒柜使用方法
- 专家教你高血压茶疗十法
- 出现节后综合症怎么办?教你收收过年放野了的心
- 专家教你如何用中药泡茶
