Nginx的优化、安全与防盗链实例详解

下面是针对“Nginx的优化、安全与防盗链实例详解”的完整攻略,其中包括两个示例说明。

一、Nginx的优化

1. 启用缓存

启用缓存可以加速网站响应速度,减少服务器资源的消耗。Nginx的缓存可以通过设置proxy_cache_path参数来实现。

具体实现流程如下:

  1. 在Nginx配置文件中添加如下代码:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m;
  1. 在需要启用缓存的服务中添加如下代码:
proxy_cache my_cache;
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;

2. 开启Gzip压缩

开启Gzip压缩可以缩小网页文件大小,加快网页的传输速度,提高用户体验。Nginx可以通过开启gzip参数来开启Gzip压缩。

具体实现流程如下:

  1. 在需要开启Gzip压缩的服务中添加如下代码:
gzip on;
gzip_disable msie6;
gzip_min_length 1k;
gzip_buffers 4 16k;
  1. 同时设置需要压缩的文件类型:
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/json;

二、Nginx的安全

1. 避免开放目录浏览

禁止开放目录浏览可以保护服务器的文件安全,Nginx可以通过添加如下代码来实现:

location / {
    autoindex off;
}

2. 限制文件上传大小

限制文件上传大小可以避免服务器过多花费资源进行文件上传、转化等处理,Nginx可以通过添加如下代码来实现:

client_max_body_size 10m;

三、Nginx的防盗链

防盗链可以避免其他网站盗用本站图片,视频等资源,Nginx可以通过添加如下代码来实现:

location / {
    valid_referers none blocked example.com *.example.com;
    if ($invalid_referer) {
        return 403;
    }
}

其中,example.com为本站域名,*.example.com表示所有子域名,none表示不允许直接访问,blocked表示允许被禁止的访问来源。

四、示例说明

示例1:Nginx的缓存实例

将http://example.com/abc.png这个资源启用缓存,具体步骤如下:

  1. 在Nginx配置文件中添加如下代码:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m;
  1. 在需要启用缓存的服务中添加如下代码:
location / {
    proxy_cache my_cache;
    proxy_pass http://example.com;
    proxy_cache_valid 200 302 10m;
    proxy_cache_valid 404 1m;
}

示例2:Nginx的防盗链实例

防止http://example2.com/abc.png盗用本站图片,具体步骤如下:

  1. 在Nginx配置文件中添加如下代码:
location / {
    valid_referers none blocked example.com *.example.com;
    if ($invalid_referer) {
        return 403;
    }
}
  1. 将需要防盗链的图片地址修改为:
http://example.com/abc.png?http_referer=http://example.com/

这样,只有从合法的来源访问,才能正常显示图片,否则将返回403错误。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Nginx的优化、安全与防盗链实例详解 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Nginx——stream模块

    nginx从1.9.0开始,新增加了一个stream模块,用来实现四层协议的转发、代理或者负载均衡等 stream模块的用法和http模块差不多,语法基本一致,支持server,hash, listen, proxy_pass等指令, 配置实例如下: worker_processes auto; error_log logs/error.stream.log…

    Nginx 2023年4月13日
    00
  • Nginx生产环境平滑升级的方法是什么

    这篇“Nginx生产环境平滑升级的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Nginx生产环境平滑升级的方法是什么”文章吧。 一.背景 最近遇到一个比较尴尬而又实际的问题,那就是我们生产环境使用的Nginx是Centos6的老古董…

    2023年4月10日
    00
  • nginx 反向代理memcached、websocket及nginx文件方面的优化

    安装memcached服务,并启动添加数据 yum -y install memcached systemctl start memcached.service 启动 [root@python ~]# telnet 127.0.0.1 11211 Trying 127.0.0.1… Connected to 127.0.0.1. Escape chara…

    Nginx 2023年4月13日
    00
  • nginx-location

    参考来源: http://blog.zol.com.cn/1067/article_1066186.html,http://flandycheng.blog.51cto.com/855176/280121 语法规则: location [=|~|~*|^~] /uri/ { … } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 …

    Nginx 2023年4月13日
    00
  • nginx+lua_nginx+GraphicsMagick生成实时缩略图

    安装graphi magic wget http://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/1.3.16/GraphicsMagick-1.3.16.tar.gz/download ./configure –prefix=/usr/local/GraphicsMagick-…

    Nginx 2023年4月12日
    00
  • wnmp配置(windows+nginx+mysql+php开发环境)

    操作系统:win7 64位 数据库:mysql (安装配置不在此详述) php5.5.30ns (安装配置不在此详述)   问题的关键是:nginx 服务器与 php的关联   一、服务器软件   nginx-1.11.4   下载地址      http://nginx.org/en/download.html     下载windows 版本nginx并…

    Nginx 2023年4月11日
    00
  • nginx配置Strict Transport Security

    一个网站接受一个HTTP的请求,然后跳转到HTTPS,用户可能在开始跳转前,通过没有加密的方式和服务器对话,比如,用户输入http://zt.test.com或者直接zt.test.com。这样存在中间人攻击潜在威胁,跳转过程可能被恶意网站利用来直接接触用户信息,而不是原来的加密信息。网站通过HTTP Strict Transport Security通知浏…

    Nginx 2023年4月13日
    00
  • nginx配置后端映射(反向代理proxy_pass)

    说明:配置反向代理proxy_pass和location无关,location后面加不加 / 都可以 1.配置 proxy_pass 时,当在后面的 url 加上了 /,相当于是绝对路径,则 Nginx 不会把 location 中匹配的路径部分加入代理 uri 比如下面配置,我们访问 http://127.0.0.1/api/test.html,最终代理到…

    Nginx 2023年4月11日
    00
合作推广
合作推广
分享本页
返回顶部