全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 3307|回复: 25
打印 上一主题 下一主题

[nginx] nginx大佬进来

[复制链接]
跳转到指定楼层
1#
发表于 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根目录
2#
发表于 2022-4-21 20:33:29 | 只看该作者
楼下大佬会                          
3#
发表于 2022-4-21 20:34:03 | 只看该作者
那你直接 return 404;  看看行不行?
4#
 楼主| 发表于 2022-4-21 20:39:56 | 只看该作者
Salta 发表于 2022-4-21 20:34
那你直接 return 404;  看看行不行?

直接404  和 403 效果一样   是默认的nginx页面   我想弄个自定义的404.html
7#
发表于 2022-4-21 22:32:14 | 只看该作者
zxjlhsq 发表于 2022-4-21 20:39
直接404  和 403 效果一样   是默认的nginx页面   我想弄个自定义的404.html

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

谢谢 我试试
9#
 楼主| 发表于 2022-4-21 23:12:30 | 只看该作者
tiga 发表于 2022-4-21 21:35
改 error_page 不就行了

return 404;   并不调用  error_page  /404.html      还是默认的404
10#
 楼主| 发表于 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-4-25 01:13 , Processed in 0.064594 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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