欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx禁止部分UserAgent訪問的問題解決

 更新時間:2025年02月11日 10:25:12   作者:null_17  
本文主要介紹了使用Nginx禁止特定UserAgent訪問域名,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言

  • 有時候域名在微信上 訪問會紅,會有各種異常提示,通過nginx禁止域名在微信上被訪問,給出友好提示。
  • 如果紅了的域名,加上后過段時間就會恢復,并且正常顯示配置的頁面。
  • 雖然不能直接在微信 訪問,但是總比在微信上報異常鏈接友好。

一、使用步驟

1.關鍵代碼

檢測是否微信、企鵝中訪問,如果是$is_blocked_agent返回1

map $http_user_agent $is_blocked_agent {
        default                 0;
        "~*micromessenger"      1;
        "~*QQTheme"             1;
}
# 檢查變量
if ($is_blocked_agent = 1) {
    rewrite ^ /error_blocked_agent.html last;
}

# 定義錯誤頁面位置
location = /error_blocked_agent.html {
    internal; # 防止外部直接訪問
    root /usr/local/nginx/html/; # 指定網頁文件的根目錄
    try_files $uri  error_blocked_agent.html last; 
}

頁面路徑:
/usr/local/nginx/html/error_blocked_agent.html

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>請使用瀏覽器打開</title>
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=0">
    <link rel="stylesheet" type="text/css"  rel="external nofollow" >
<style>
    .weui_tips_img{
        position: absolute;
        top: 8px;
        right: 6%;
    }
    .weui_tips_img img{
        width: 100%;
        height: 135px;
    }
    .weui_tips_area{
        padding: 25px;
        width: 90%;
        margin: 10px auto;
        background-color: #fff;
        border-radius: 8px;
        box-sizing: border-box;
        box-shadow: 0 2px 8px 0 rgba(0, 0, 0, .1);
        text-align: left;
    }
    ul{
        list-style-type: none;
    }
    li{
      color: #6F7884;
      display: flex;
      align-items: center;
      margin: 5px auto;
    }
    li img{
        margin-left: 8px;
        height: 25px;
    }
    li span{
        color: #07c160;
        font-weight: bold;
    }

    .weui_text_area{
        position: absolute;
        bottom: 8% !important;
        padding: 0!important;
        width: 100%;
    }
    .weui_text_area span {
        color: #fff;
        border-radius: 5px;
        padding: 10px 22%;
        border: none;
        background: #07c160;
        cursor: pointer;
    }
</style>
<body>
<div class="weui_msg">
    <div class="weui_tips_img">
        <img src="data:image/png;base64,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" alt=""/>
    </div>
	<div class="weui_tips_area">
        <h3>請繼續(xù)操作</h3>
        <ul>
            <li>1、點擊右上角<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAABp0lEQVRoQ+1asUrDUBQ9DyGbBJopGRyyGvAjxMWfyOIiaBGcMoVMnaQSBReX/ISL+BFCunZwSKYGardAefKKhbZEyOvltXn2ZQvce+4957zcDPcxbDyTyeQUwBWACwAnAI43Y3b8PgPwBeAdwKvjOKPV+mz5kue55XneA+f8GsDRjptsW27OGHspiuI+CIJaJC0IiOZd130DcN4Wac9xH2VZXgoSCwJVVT1xzm/23JRUecbYc6/Xu2W/Z/6zw8fmL2JzAGeCwBDAnRT97gQ/CgI5ADF5dHxGgsB3B0bltuLNBAG+bXYX8gyBfbtgHDAOEBUwR4goIDndOECWkAhgHCAKSE4/DAfqusZgMECWZQvFwjBEFEWwLKtRQdXxq0VbOZAkCdI0XWu23+8jjuNGAqrjpQn4vo/pdLrWrG3bGI/HjQRUxx8eAdVHQhZf2gHVH6UsvjQB8rBWCNBqCimsT4Y2BMgSEgGMA0QByenGAbKERADjAFFAcrpxgCwhEeBfOKD9gkP7FZP2Sz6x4NN3zSqGgNaLbkFA+6sGSxLaXvZY/Zfodt3mB8aHaDiexiJJAAAAAElFTkSuQmCC" alt=""/></li>
            <li>2、選擇<span>『在瀏覽器/Safari中打開』</span></li>
        </ul>
    </div>
    <div class="weui_text_area">
        <span class="weui_msg_title" onclick="copyToClipboard()">復制鏈接</span>
    </div>
</div>
<textarea id="textToCopy" style="display:none;"></textarea>
<script type="text/javascript">
    function copyToClipboard() {
        var textToCopy = window.location.protocol + "http://" + window.location.hostname;
        // https域名訪問下有效
        if (navigator.clipboard && navigator.clipboard.writeText) {
            navigator.clipboard.writeText(textToCopy)
                .then(function() {
                    alert('已成功復制到剪貼板');
                })
                .catch(function(err) {
                    console.error('無法執(zhí)行復制操作(Clipboard API)', err);
                    fallbackCopy();
                });
        } else {
            // 使用舊的execCommand方法作為備選
            fallbackCopy();
        }

		// http時候有效
        function fallbackCopy() {
        var textArea = document.getElementById("textToCopy");
            textArea.style.display = 'block';
            textArea.value = textToCopy;

            textArea.focus();
            textArea.select();
            try {
                var successful = document.execCommand('copy');
                textArea.style.display = 'none';

                var msg = successful ? '已成功復制到剪貼板' : '無法執(zhí)行復制操作';
                alert(msg);
            } catch (err) {
                textArea.style.display = 'none';

                console.error('無法執(zhí)行復制操作(execCommand)', err);
                alert('無法執(zhí)行復制操作');
            }
        }
    }
</script>
</body>

2.使用方法

  • 全局使用:將檢測UserAgent代碼放在http塊,在每server塊中都可以使用$is_blocked_agent變量
# *** 其它配置
events {
    # *** 其它配置
}
http {
	# *** 其它配置

	#檢測User Agent
	map $http_user_agent $is_blocked_agent {
	        default                 0;
	        "~*micromessenger"      1;
	        "~*QQTheme"             1;
	}

 server {
 	# ***其它配置

	# 檢查變量
	if ($is_blocked_agent = 1) {
	    rewrite ^ /error_blocked_agent.html last;
	}
	
	# 定義錯誤頁面位置
	location = /error_blocked_agent.html {
	    internal; # 防止外部直接訪問
	    root /usr/local/nginx/html/; # 指定網頁文件的根目錄
	    try_files $uri  error_blocked_agent.html last; 
	}
 }
}
  • 局部使用:將檢測UserAgent放在server 塊,其它server塊無法使用變量$is_blocked_agent
# *** 其它配置
events {
    # *** 其它配置
}
http {
	# *** 其它配置
 server {
 	# ***其它配置

	#檢測User Agent
	map $http_user_agent $is_blocked_agent {
	        default                 0;
	        "~*micromessenger"      1;
	        "~*QQTheme"             1;
	}
	
	# 檢查變量
	if ($is_blocked_agent = 1) {
	    rewrite ^ /error_blocked_agent.html last;
	}
	
	# 定義錯誤頁面位置
	location = /error_blocked_agent.html {
	    internal; # 防止外部直接訪問
	    root /usr/local/nginx/html/; # 指定網頁文件的根目錄
	    try_files $uri  error_blocked_agent.html last; 
	}
 }
}

二、效果

在這里插入圖片描述

在這里插入圖片描述

三、總結

優(yōu)點

  • 對業(yè)務零入侵。
  • 域名下的所有路徑都會被強制禁止在目標UserAgent訪問。

缺點

  • 需要在nginx額外加配置代碼。

到此這篇關于Nginx禁止部分UserAgent訪問的問題解決的文章就介紹到這了,更多相關Nginx禁止UserAgent內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家! 

相關文章

  • Nginx listen 監(jiān)聽端口的實現配置

    Nginx listen 監(jiān)聽端口的實現配置

    本文將介紹Nginx的listen指令及其在配置文件中的應用,通過了解listen指令,我們可以知道Nginx如何監(jiān)聽端口,并配置相應的服務器塊來處理進入的請求
    2023-12-12
  • Linux\Nginx 環(huán)境下虛擬域名配置及測試驗證

    Linux\Nginx 環(huán)境下虛擬域名配置及測試驗證

    這篇文章主要介紹了Linux\Nginx 虛擬域名配置及測試驗證的步驟詳解,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11
  • Nginx如何安裝配置Lua支持

    Nginx如何安裝配置Lua支持

    這篇文章主要介紹了Nginx如何安裝配置Lua支持方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Nginx 502 Bad Gateway錯誤原因及解決方案

    Nginx 502 Bad Gateway錯誤原因及解決方案

    這篇文章主要介紹了Nginx 502 Bad Gateway錯誤原因及解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • nginx+lua(openresty)實現黑/白名單權限控制的示例

    nginx+lua(openresty)實現黑/白名單權限控制的示例

    本文介紹了如何使用Openresty進行權限控制和灰度發(fā)布,具體通過定時器定期更新黑名單數據,進行用戶過濾和權限管控,具有一定的參考價值,感興趣的可以了解一下
    2024-09-09
  • Nginx開源可視化配置工具NginxConfig使用教程

    Nginx開源可視化配置工具NginxConfig使用教程

    這篇文章主要為大家介紹了Nginx開源可視化配置工具NginxConfig使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • Nginx如何配置Http、Https、WS、WSS的方法步驟

    Nginx如何配置Http、Https、WS、WSS的方法步驟

    這篇文章主要介紹了Nginx如何配置Http、Https、WS、WSS的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • Nginx之為已安裝nginx動態(tài)添加模塊的方法

    Nginx之為已安裝nginx動態(tài)添加模塊的方法

    本篇文章主要介紹了Nginx之為已安裝nginx動態(tài)添加模塊的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Nginx正反向代理及負載均衡等功能實現配置代碼實例

    Nginx正反向代理及負載均衡等功能實現配置代碼實例

    這篇文章主要介紹了Nginx正反向代理及負載均衡等功能實現配置代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • 使用Nginx解決跨域訪問問題的完整案例

    使用Nginx解決跨域訪問問題的完整案例

    在現代的Web開發(fā)中,跨域訪問是一種常見的需求,由于瀏覽器的同源策略,不同域名之間的訪問存在一定的限制,本文將介紹如何使用Nginx來解決跨域訪問的問題,并通過一個完整的實例來展示,需要的朋友可以參考下
    2024-03-03

最新評論