专栏首页linux系统运维Nginx防盗链,Nginx访问控制,Nginx解析php相关配置, Nginx代理

Nginx防盗链,Nginx访问控制,Nginx解析php相关配置, Nginx代理

Nginx防盗链:

vim /usr/local/nginx/conf/vhost/test.com.conf    = 默认虚拟主机配置防盗链

#防盗链核心配置
location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$    =表示匹配文件格式
{
    expires 7d;     = 保存7天
    valid_referers none blocked server_names  *.test.com ;     = 匹配域名
    if ($invalid_referer) {
        return 403;   = 域名匹配不成功返回403
    }
    access_log off;
}

配置完以后 -t && -s reload

[root@aming-01 test.com]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@aming-01 test.com]# /usr/local/nginx/sbin/nginx -s reload

测试防盗链:

[root@aming-01 test.com]# curl -e "http:www.test.com/1.txt" -x127.0.0.1:80 test.com/1.gif -I   =测试防盗链需要指定 -e 然后格式必须使用 http 开头
HTTP/1.1 200 OK    = 200状态码说明Ok
Server: nginx/1.12.1
Date: Thu, 26 Apr 2018 14:04:56 GMT
Content-Type: image/gif
Content-Length: 21
Last-Modified: Thu, 26 Apr 2018 13:48:21 GMT
Connection: keep-alive
ETag: "5ae1d8a5-15"
Expires: Thu, 03 May 2018 14:04:56 GMT
Cache-Control: max-age=604800
Accept-Ranges: bytes

Nginx访问控制:

vim /usr/local/nginx/conf/vhost/test.com.conf     =虚拟主机配置文件

location /admin/
{
    allow 192.168.133.1;
    allow 127.0.0.1;
    deny all;
}

配置文件里面的规则,nginx是一条一条匹配的如果第一条匹配成功那么就不会匹配下面的规则了。例如 配置里面 allow 127.0.0.1 如果访问的 IP是127.0.0.1 那么匹配第一条规则就直接允许访问,就不会匹配后面的其他规则,如果访问过来的是127.0.0.2那么就会直接deny 掉不允许访问。

allow=允许访问  deny=拒绝访问

还可以同样适用正则匹配,和user_agent限制

可以匹配正则
location ~ .*(abc|image)/.*\.php$
{
        deny all;
}
根据user_agent限制
if ($http_user_agent ~ 'Spider/3.0|YoudaoBot|Tomato')
{
      return 403;
}
 deny all和return 403效果一样

Nginx解析php相关配置:

vim /usr/local/nginx/conf/vhost/test.com.conf     =虚拟主机配置文件

location ~ \.php$
    {
        include fastcgi_params;    #fastcgi_pass 用来指定php-fpm监听的地址或者socket
        fastcgi_pass unix:/tmp/php-fcgi.sock;     
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /data/wwwroot/test.com$fastcgi_script_name;
    }

Nginx代理:

Nginx代理分正向代理和反向代理。 

http://blog.csdn.net/zjf280441589/article/details/51501408

Nginx代理是在一台代理服务器中自定义一个域名(这个域名基本上跟web服务器的域名相同),该域名指向一个IP(web服务器),然后将用户的请求通过这台代理服务器访问指定的IP所对应的web服务器。

首先创建一个新的配置文件:

[root@aminglinux-01 ~]# cd /usr/local/nginx/conf/vhost/
[root@aminglinux-01 vhost]# 
[root@aminglinux-01 vhost]# vim proxy.conf

配置文件:

server
{
    listen 80;
    server_name ask.apelearn.com;

    location /
    {
        proxy_pass      http://121.201.9.155/;
        proxy_set_header Host   $host;
        proxy_set_header X-Real-IP      $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

测试本机访问论坛。

扩展

502问题汇总 http://ask.apelearn.com/question/9109

location优先级:http://blog.lishiming.net/?p=100

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 磁盘格式化,磁盘挂载以及手动增加swap

    叶瑾
  • 配置防盗链,访问控制Directory,访问控制FilesMatch

    叶瑾
  • awk工具

    叶瑾
  • 干货 |GitHUB安全搬运工 四

    地址:https://github.com/LandGrey/domainNamePredictor

    HACK学习
  • AI技术三大应用领域:智能医疗、自动驾驶、智慧营销产业发展现状分析

    “So tomorrow, if AI can shape healthcare, it has to work through the regulations...

    SIGAI学习与实践平台
  • 论二级域名收集的各种姿势

    1 查询whois http://whois.chinaz.com/baidu.com

    信安之路
  • TiKV项目

    说明:分布式事务性键值数据库,最初是为了补充TiDB而创建的。TiKV采用Rust构建,由Raft(通过etcd)驱动,并受到Google Spanner设计的...

    CNCF
  • 文件权限设置

    1. 文字设定法 chmod [who] [+|-|=] [mode] [文件或者目录名] who可以是 u:表示所有者 g:表示用户组 o:表示其他用...

    苦咖啡
  • JavaScript编程精解(二)

    当启用了严格模式(strict mode)后,JS就会在执行代码时变得更为严格。只需在文件或函数顶部放置字符串“use strict”就可以启用严格模式了。

    硬核项目经理
  • 库、教程、论文实现,这是一份超全的PyTorch资源列表(Github 2.2K星)

    项目地址:https://github.com/bharathgs/Awesome-pytorch-list

    机器之心

扫码关注云+社区

领取腾讯云代金券