全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 3429|回复: 25

[nginx] nginx大佬进来

[复制链接]
发表于 2022-4-21 20:30:51 | 显示全部楼层 |阅读模式
本帖最后由 zxjlhsq 于 2022-4-21 20:40 编辑

想禁掉QQ浏览器访问 用NGINX实现方法

这是简单的代码 访问时会404默认页面
            if ($http_user_agent ~* "QQBrowser") {
                return 404;
            }


        location / {
            proxy_pass http://127.0.0.1:88/;
}



可我想实现这样的 有个友好404页面   结果报错


            if ($http_user_agent ~* "QQBrowser") {
                root /home/404.html;
            }


        location / {
            proxy_pass http://127.0.0.1:88/;
}
发表于 2022-4-21 21:35:26 | 显示全部楼层
改 error_page 不就行了

  1.   error_page 404 /404.html;

  2.   if ($http_user_agent ~* "QQBrowser") {
  3.     return 404;
  4.   }
复制代码
 楼主| 发表于 2022-4-22 11:52:01 | 显示全部楼层
zxxx 发表于 2022-4-22 11:21
add_header 'Content-Type' 'text/html;charset=utf-8';
Return ....


解决了    放到  location里面 即可。。 搞不懂 为什么location里面就不报错  放在外面就报错

最后 感谢大佬!!!  并贴上代码。

location / {

  if ($http_user_agent ~* "Chrome") {
        add_header 'Content-Type' 'text/html;charset=utf-8';
        return 200 '<HTML>123</HTML>';
  }
发表于 2022-4-21 22:17:42 | 显示全部楼层



if ($http_user_agent ~* "QQBrowser") {
rewrite ^/(.*)$  /404.html break;
}

404.html放在WEB根目录
发表于 2022-4-21 20:33:29 | 显示全部楼层
楼下大佬会                          
发表于 2022-4-21 20:34:03 | 显示全部楼层
那你直接 return 404;  看看行不行?
 楼主| 发表于 2022-4-21 20:39:56 | 显示全部楼层
Salta 发表于 2022-4-21 20:34
那你直接 return 404;  看看行不行?

直接404  和 403 效果一样   是默认的nginx页面   我想弄个自定义的404.html
发表于 2022-4-21 22:32:14 | 显示全部楼层
zxjlhsq 发表于 2022-4-21 20:39
直接404  和 403 效果一样   是默认的nginx页面   我想弄个自定义的404.html

你自己另外做一个页面不就好了,return qq.html这样
 楼主| 发表于 2022-4-21 23:02:06 | 显示全部楼层
Waylon 发表于 2022-4-21 22:17
if ($http_user_agent ~* "QQBrowser") {
rewrite ^/(.*)$  /404.html break;
}

谢谢 我试试
 楼主| 发表于 2022-4-21 23:12:30 | 显示全部楼层
tiga 发表于 2022-4-21 21:35
改 error_page 不就行了

return 404;   并不调用  error_page  /404.html      还是默认的404
 楼主| 发表于 2022-4-21 23:13:31 | 显示全部楼层
Waylon 发表于 2022-4-21 22:17
if ($http_user_agent ~* "QQBrowser") {
rewrite ^/(.*)$  /404.html break;
}

不行, 先执行pass 反代了  没有先执行 rewrite ^/(.*)$  /404.html break;

除非 这里也用 pass 反代 才会执行  估计有个优先级
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-1 01:30 , Processed in 0.100095 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表