NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
Yingc
V2EX  ›  NGINX

实在无果,求段 Nginx 过滤网址白名单配置

  •  
  •   Yingc · Jul 17, 2015 via Android · 7214 views
    This topic created in 3955 days ago, the information mentioned may be changed or developed.
    因分享了公共代理,导致那些人乱上一些不良网站,已经被发邮件投诉。请求各位帮帮忙,就是想允许列表里的网址通过访问,而不在允许列表里的就重定向到某页面,大概要允许上千个网址。
    真的很需要
    18 replies    2015-07-17 18:30:59 +08:00
    Septembers
        1
    Septembers  
       Jul 17, 2015 via Android
    无条件重定向DNS流量到本地
    然后自建个DNS 需要的域就转发就可以了
    DreaMQ
        2
    DreaMQ  
       Jul 17, 2015
    简单的说,设置并强制指定(iptables之类)OpenDNS,然后去 opendns.com 注册你的服务器 IP 并过滤域名
    oott123
        3
    oott123  
       Jul 17, 2015 via Android
    squid/acl 呀
    mN71eOOprFyMsnPx
        4
    mN71eOOprFyMsnPx  
       Jul 17, 2015   ❤️ 1
    https://github.com/fifilyu/module-http-whitelist

    用 iptables 的 string 模块做一个白名单即可。
    Yingc
        5
    Yingc  
    OP
       Jul 17, 2015 via Android
    @FifiLyu 感谢
    Yingc
        6
    Yingc  
    OP
       Jul 17, 2015 via Android
    @FifiLyu 我的系统市Debian7无法编译文件
    Yingc
        7
    Yingc  
    OP
       Jul 17, 2015 via Android
    make -C /lib/modules/3.2.0-4-686-pae/build/ M=/root/module-http-whitelist modules
    make: *** /lib/modules/3.2.0-4-686-pae/build/: No such file or directory. Stop.
    make: *** [all] Error 2
    Yingc
        8
    Yingc  
    OP
       Jul 17, 2015 via Android
    debian下,无法安装 kernel-devel
    mN71eOOprFyMsnPx
        9
    mN71eOOprFyMsnPx  
       Jul 17, 2015
    @Yingc 我下午装一个debian7测试一下。 应该是依赖包没安装上的问题。

    你的情况建议先用 iptables string 模块。直接iptables即可满足你了。不需要用我这个Linux内核模块。

    用内核模块适合大量请求访问的情况使用
    Yingc
        10
    Yingc  
    OP
       Jul 17, 2015 via Android
    @FifiLyu 感觉你这个方便点,我尝试sudo apt-get install linux-headers-$(uname -r)后,虽然能编译但还是有错误,出来的东西无法加载,你是怎么安装这个的。
    yangxin0
        11
    yangxin0  
       Jul 17, 2015
    用openresty在acces阶段执行一个lua脚本即可,url 白明白可以存在redis或者mysql中
    mN71eOOprFyMsnPx
        12
    mN71eOOprFyMsnPx  
       Jul 17, 2015
    @Yingc 我在 Debian 7 上测试了,编译和运行ok。

    安装依赖包:
    sudo apt-get install linux-headers-`uname -r`
    mN71eOOprFyMsnPx
        13
    mN71eOOprFyMsnPx  
       Jul 17, 2015
    @Yingc

    初始化配置文件

    $ sudo mkdir /etc/http_whitelist
    $ sudo touch /etc/http_whitelist/host /etc/http_whitelist/network

    详情请看:

    初始化配置文件
    https://github.com/fifilyu/module-http-whitelist#%E5%88%9D%E5%A7%8B%E5%8C%96%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6
    Yingc
        14
    Yingc  
    OP
       Jul 17, 2015 via Android
    Yingc
        15
    Yingc  
    OP
       Jul 17, 2015 via Android
    @FifiLyu
    root@sf:~# sudo mkdir /etc/http_whitelist
    root@sf:~# sudo touch /etc/http_whitelist/host /etc/http_whitelist/network
    root@sf:~# sudo apt-get install linux-headers-'uname -r'
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    E: Unable to locate package linux-headers-uname -r
    root@sf:~# cd module-http-whitelist
    root@sf:~/module-http-whitelist# sudo insmod http_whitelist.ko
    root@sf:~/module-http-whitelist# lsmod
    Module Size Used by
    http_whitelist 12997 0
    Yingc
        16
    Yingc  
    OP
       Jul 17, 2015 via Android
    原来是要先创建目录、文件。
    mN71eOOprFyMsnPx
        17
    mN71eOOprFyMsnPx  
       Jul 17, 2015
    sudo apt-get install linux-headers-`uname -r`

    uname -r 不是用单引号,而是反勾号。是键盘左边的数字“1”旁边的符号。
    Yingc
        18
    Yingc  
    OP
       Jul 17, 2015
    @FifiLyu 已经加载上了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2942 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 75ms · UTC 14:43 · PVG 22:43 · LAX 07:43 · JFK 10:43
    ♥ Do have faith in what you're doing.