當你運營網站時,在日常的運維工作中,檢視網站日誌是一個重要的任務。檢視網站日誌時你要嗵會發現有大量的蜘蛛在瘋狂地爬取你的網站。這些蜘蛛可能是來自各種搜尋引擎、資料分析工具或者其他類型的網路爬蟲。雖然搜尋引擎的爬蟲是必要的,它們有助於將你的網站內容索引到搜尋結果中,但是有時候會出現一些無用的蜘蛛,它們會浪費伺服器資源、降低網站效能,甚至可能引發安全問題。
為了解決這個問題,一種常見的方法是使用Nginx來遮蔽這些垃圾蜘蛛的訪問。我們可以通過配置Nginx的規則,根據蜘蛛的User-Agent欄位來識別和遮蔽它們。
例如,你可以使用類似下面的Nginx配置來遮蔽一些常見的垃圾蜘蛛:
server { listen 80; server_name example.com; if ($http_user_agent ~* (MegaIndex|MegaIndex.ru|BLEXBot|Qwantify|qwantify|semrush|Semrush|serpstatbot|hubspot|python|Bytespider|Go-http-client|Java|PhantomJS|SemrushBot|Scrapy|Webdup|AcoonBot|AhrefsBot|Ezooms|EdisterBot|EC2LinkFinder|jikespider|Purebot|MJ12bot|WangIDSpider|WBSearchBot|Wotbox|xbfMozilla|Yottaa|Jorgee|SWEBot|spbot|TurnitinBot-Agent|mail.RU|newspaper|DotBot|PetalBot|zoombot|linkbot|perl|Python|Wget|SeznamBot|CensysInspect|Xenu|ZmEu|DataForSeoBot|YaK|WellKnownBot|Baiduspider|Barkrowler|Botpython-requests|^$)) { return 444; } # 其他配置项... }
在大多數 Linux 系統上,Nginx 的配置檔案通常位於 /etc/nginx 目錄下。你可以使用以下命令進入該目錄:
cd /etc/nginx
在進入該目錄後,找到 Nginx 配置檔案 nginx.conf。你可以使用文字編輯器(如 vi 或 nano)開啟該檔案進行修改:
感謝支援《波哥分享》原創文章!
原文標題:透過Nginx遮蔽SemrushBot、AhrefsBot、Adsbot等垃圾蜘蛛
sudo vi nginx.conf
在使用 vi
编辑器打开 nginx.conf
文件时,需要按下 i
键以进入插入(Insert)模式,才能开始编辑文件内容。
複製if那段內容到server {}中然後再按输入 :wq
并按下回车键,以保存文件并退出 vi
编辑器。
通過上述配置,當請求的User-Agent欄位匹配到列表中的任何一個字元串時,Nginx會返回444狀態碼,即終止連線,從而阻止這些蜘蛛的進一步訪問。需要注意的是,如果其中有你需要的蜘蛛,你需要去除它們再輸入到Server {}中。
保存完後記得重啟Nginx以生效,以下為重啟Nginx的命令:
1. Ubuntu、Debian 或类似系统(使用 Systemd)
sudo systemctl restart nginx
2. CentOS、Fedora 或类似系统(使用 Systemd)
sudo systemctl restart nginx
輸入root口令後即可重啟。
以下為這些蜘蛛的詳細說明:
- MegaIndex / MegaIndex.ru: MegaIndex 是一個網路情報服務提供商,它提供關於網站和關鍵詞的資料分析。
- BLEXBot: BLEXBot 是一個網路爬蟲,用於索引網頁並提供搜尋結果。
- Qwantify / qwantify: Qwantify 是 Qwant 搜尋引擎的爬蟲,用於收集網頁內容以供搜尋索引使用。
- Semrush / SemrushBot: Semrush 是一家提供競爭情報和搜尋引擎優化工具的公司,SemrushBot 是其爬蟲,用於抓取網頁資料。
- serpstatbot: serpstatbot 是 Serpstat 公司的爬蟲,用於收集網頁資料和搜尋引擎優化分析。
- hubspot: HubSpot 是一家提供營銷和銷售軟體的公司,其爬蟲用於抓取網頁內容以提供相關服務。
- python: Python 是一種程式語言,這裡提到的 "python" 可能指使用者編寫的使用 Python 程式語言的爬蟲。
- Bytespider: Bytespider 是一個網路爬蟲,用於獲取和分析網頁內容。
- Go-http-client: Go-http-client 是使用 Go 程式語言編寫的 HTTP 客戶端,這裡指可能由此客戶端發起的爬取請求。
- Java: Java 是一種程式語言,這裡提到的 "Java" 可能指使用者編寫的使用 Java 程式語言的爬蟲。
- PhantomJS: PhantomJS 是一個基於 WebKit 的無介面瀏覽器,可用於模擬瀏覽器行為和爬取網頁資料。
- Scrapy: Scrapy 是一個用於構建和部署網路爬蟲的 Python 框架。
- Webdup: Webdup 是一個用於檢測和刪除重複網頁的工具。
- AcoonBot: AcoonBot 是來自 Acoon GmbH 的爬蟲,用於收集網頁資料。
- AhrefsBot: AhrefsBot 是 Ahrefs 公司的爬蟲,用於抓取和分析網頁資訊。
- Ezooms: Ezooms 是一家網路情報公司,其爬蟲用於收集關於網站和關鍵詞的資料。
- EdisterBot: EdisterBot 是一個網路爬蟲,用於索引和分析網頁。
- EC2LinkFinder: EC2LinkFinder 是一個用於在 Amazon EC2 雲平臺上發現連結的爬蟲。
- jikespider: jikespider 是一個開源的 Java 網路爬蟲。
- Purebot: Purebot 是 Pure SEO 公司的爬蟲,用於抓取和分析網頁資料。
- MJ12bot: MJ12bot 是 Majestic 12 公司的爬蟲,用於抓取和分析網頁內容。
- WangIDSpider: WangIDSpider 是一種網路爬蟲,用於抓取和分析網頁資料。
- WBSearchBot: WBSearchBot 是一個搜尋引擎爬蟲,用於收集網頁內容並提供搜尋服務。
- Wotbox: Wotbox 是一個網路爬蟲,用於抓取和分析網頁資料。
- xbfMozilla: xbfMozilla 是一個自定義的爬蟲標識符,可能是由使用者自行設定的。
- Yottaa: Yottaa 是一個網站優化和效能管理平臺,其爬蟲用於分析網頁效能和優化建議。
- Jorgee: Jorgee 是一個網路爬蟲,用於探測和掃描網站漏洞。
- SWEBot 是 Search Engine World Bot(搜尋引擎世界機器人)的爬蟲。
- spbot: spbot 是 OpenLinkProfiler.org 的爬蟲,用於分析和索引網頁資料。
- TurnitinBot-Agent: TurnitinBot-Agent 是 Turnitin 公司的爬蟲,用於檢測學術論文的原創性和相似性。
- mail.RU: mail.RU 是俄羅斯的一個入口網站和電子郵件服務提供商,其爬蟲用於收集網頁內容和索引服務。
- newspaper: newspaper 是一個 Python 庫,用於從新聞網站抓取和解析文章內容。
- DotBot: DotBot 是 Moz 公司的爬蟲,用於抓取和分析網頁資料。
- PetalBot: PetalBot 是 Petal Search 的爬蟲,Petal Search 是華為推出的搜尋引擎。
- zoombot: zoombot 是 ZoomInfo 公司的爬蟲,用於收集和更新公司和聯絡人資訊。
- linkbot: linkbot 是一個通用術語,指代用於檢查和驗證網頁連結的爬蟲或工具。
- perl: Perl 是一種程式語言,這裡提到的 "perl" 可能指使用者編寫的使用 Perl 程式語言的爬蟲。
- Wget: Wget 是一個用於從網路上下載檔案的命令列工具,也被用於編寫爬蟲程式。
- SeznamBot: SeznamBot 是 Seznam.cz 搜尋引擎的爬蟲,用於索引網頁和提供搜尋服務。
- CensysInspect: CensysInspect 是 Censys 公司的爬蟲,用於收集和分析網際網路上的主機和服務資訊。
- Xenu: Xenu 是一個用於檢查和驗證網站連結的免費工具。
- ZmEu: ZmEu 是一個惡意的網路爬蟲,常用於嘗試在網站上執行惡意行為。
- DataForSeoBot: DataForSeoBot 是 DataForSEO 公司的爬蟲,用於抓取和分析搜尋引擎相關資料。
- YaK: YaK 是一個網路爬蟲,用於抓取和分析網頁內容。
- WellKnownBot: WellKnownBot 是一個用於收集網頁資料的爬蟲。
- Baiduspider: Baiduspider 是百度搜尋引擎的爬蟲,用於抓取網頁和提供搜尋服務。
- Barkrowler: Barkrowler 是一個開源的 Python 網路爬蟲,用於抓取和分析網頁資料。
猜你喜歡
- 本站所有文章,如無特殊說明或標註,均為本站原創釋出。在未徵得本站同意時,禁止複製、盜用、採集、釋出本站內容。
- 本站資源僅供研究、學習交流之用,若使用商業用途,請購買正版授權,否則產生的一切後果將由下載使用者自行承擔。
- 如若本站內容侵犯了原著者的合法權益,可聯絡我們進行處理。 聯絡方式(#替換成@):info#booooker.com
評論(0)