全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 3508|回复: 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根目录
25#
 楼主| 发表于 2022-4-22 11:46:04 | 只看该作者
Cllp 发表于 2022-4-22 11:43
if ($http_user_agent ~* "密码") {
             ;

你真是个小机灵鬼
24#
发表于 2022-4-22 11:43:41 | 只看该作者
            if ($http_user_agent ~* "密码") {
             ;

如果开启TLS  并且 自定义修改浏览器user_agent为密码,是不是相当于加密了。
23#
 楼主| 发表于 2022-4-22 11:43:29 | 只看该作者
zxxx 发表于 2022-4-22 11:21
add_header 'Content-Type' 'text/html;charset=utf-8';
Return ....

default_type text/html; 加这个 也报错   判断规则 里面貌似不能加这些
22#
发表于 2022-4-22 11:41:08 | 只看该作者
root 只能指定目录 不能指定文件
21#
 楼主| 发表于 2022-4-22 11:31:48 | 只看该作者
zxxx 发表于 2022-4-22 11:21
add_header 'Content-Type' 'text/html;charset=utf-8';
Return ....


这样加  nginx 提示报错,
if ($http_user_agent ~* "Chrome") {
add_header 'Content-Type' 'text/html;charset=utf-8';
Return ....


加上面就正常了。  
add_header 'Content-Type' 'text/html;charset=utf-8';
if ($http_user_agent ~* "Chrome") {
Return ....



但带来的结果如果不是Chrome 浏览器 就会有两个
Content-Type: text/html; charset=utf-8
Content-Type: text/html; charset=utf-8
20#
发表于 2022-4-22 11:21:19 来自手机 | 只看该作者
zxjlhsq 发表于 2022-4-22 11:18
试了一下  如果不用 pass 反代 是成功的。   但如果加了 pass 反代后   打开 直接提示 下载文件
下载的 ...

add_header 'Content-Type' 'text/html;charset=utf-8';
Return ....
19#
 楼主| 发表于 2022-4-22 11:18:17 | 只看该作者
本帖最后由 zxjlhsq 于 2022-4-22 11:23 编辑

如果访问是域名首页 123.com  就是 提示  下载 文件   内容就是 HTML     如果是其它页面 123.com/1.html 就正常。。这是怎么回事?
18#
发表于 2022-4-22 11:10:17 来自手机 | 只看该作者
return 200 '<HTML>....</HTML>'
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-6 12:49 , Processed in 0.063146 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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