+
71
-

如果在nginx外过滤包含某些关键词的网页并阻止打开?

如果在nginx外过滤包含某些关键词的网页并阻止打开?


网友回复

+
18
-

以下 几种可行方案 实现类似效果,取决于你的控制权限和架构:

方案一:在 Nginx 内部 实现关键词过滤(推荐)

虽然你说“Nginx 外”,但最合理的方式其实是 在 Nginx 层拦截响应内容(使用 ngx_http_sub_module 或第三方模块如 nginx-lua)。

示例:用 OpenResty(Nginx + Lua)拦截含敏感词的页面

# 安装 OpenResty 后,在 location 中添加:
location / {
    proxy_pass http://backend;
    body_filter_by_lua_block {
        local body = ngx.arg[1]
        if body and (string.find(body, "赌博") or string.find(body, "色情")) then
            ngx.log(ngx.WARN, "Blo...

点击查看剩余70%

我知道答案,我要回答