背景 新建博客系統的時候,默認的配置往往沒有開啟spam信息過濾的,導致一些爬蟲網站會頻繁的在你的文章下面進行機器人流言,在後台產生一大堆的辣雞信息,雖然不能直接展示出來,但是在後台展示的提示信息,對於有點強迫症的我來說,多少有點不可接受,以前使用過Google CAPCHA和reCAPTCHA 用於阻止非用戶的惡意支付行為,現在用在博客系統中,想使用Cloudflare 的Turnstile試試,像比較google 一些CAPCHA的地獄級的圖片識別,Cloudflare Turnstile 的用戶體驗比前者舒服很多。 Cloudflare Turnstile 使用了一系列非侵入性技術,這種技術通常在瀏覽器中不可見地運行,這使您可以在不要求訪問完成複雜的謎題的情況下保護您的網站。 Cloudflare 為了保護訪問者的私密性,使用了Apple 的Private Access Tokens 來測試訪問者是否是真人,而無需搜集額外數據,同時支持表單生成器或者WooCommece的集成,可以根據你的需求在不同的地方添加Cloudflare Turnstile。 在本文中,將向您展示如何將Cloudflare Turnstile 添加到Wordpress 網站中。 安裝Wordpress Cloudflare turnstile 插件 在wordpres的後台的插件市場,搜索關鍵詞 cloudflare Turnstile ,就會看到該插件,該插件允許您免費接入到Cloudflare Turnstile 服務。 安裝並激活插件,跳轉到設置-> Cloudflare Turnstile. 該插件需要您提供API keys(密鑰和密碼)。 在後台提示中的Link 點擊訪問: You can get your site key and secret key from here: https://dash.cloudflare.com/?to=/:account/turnstile 獲取Cloudflare Turnstile的密鑰和密碼 註冊Cloudflare 平台的帳號,該平台的帳號註冊免費,登陸您的帳號然後訪問上述連結,會進入如下界面。 然後點擊【添加小組件】,自定義自己的組件名字,比如:wp-name. […]
Category: Technical Document
Docker compose up
docker error: Docker 版本: How to fix it ? Then you will use the docker compose replace the old command docker-compose Run it use new command From July 2023 Compose V1 stopped receiving updates. It’s also no longer available in new releases of Decker Desktop. Compose V2 which was first released in 2020. is included […]
/sbin/multipathd 的功能、实现原理及内存占用分析
I. 引言 在现代数据中心和企业IT环境中,存储区域网络 (SAN) 的可靠性和性能至关重要。/sbin/multipathd 守护进程是 Linux 系统中设备映射器多路径 (Device Mapper Multipath, DM-Multipath) 功能的核心组件,它通过管理服务器与存储阵列之间的多条物理路径,提供了关键的 I/O 故障切换和负载均衡能力,从而确保了存储访问的高可用性和性能优化 1。理解 multipathd 的功能、其底层的实现机制,以及分析其可能导致高内存占用的原因,对于系统管理员和性能分析师来说至关重要。本报告旨在深入探讨 /sbin/multipathd 的这些方面,并提供诊断和优化的策略,以帮助维护一个稳定且高效的多路径环境。multipathd 不仅仅是一个简单的路径监控器,它在用户空间与内核的 dm-multipath 模块紧密协作,共同构成了 Linux 多路径解决方案的控制平面和管理核心。 II. /sbin/multipathd 的功能与实现原理 /sbin/multipathd 的设计目标是为块设备提供持续的可用性和更高的带宽连接,尤其是在 Fibre Channel (FC) 和 iSCSI SAN 环境中 1。 A. 核心功能 multipathd 的核心功能主要围绕着确保数据路径的冗余和效率。 下表总结了 multipathd 及其相关组件的核心功能: 表 2: multipathd 组件及其核心功能 组件/功能 描述 相关资料 路径管理 监控物理路径的状态,检测路径故障和恢复。 1 […]
fatal: detected dubious ownership in repository at direction
fatal: detected dubious ownership in repository at ‘/var/www/html/tv-web‘To add an exception for this directory, call: This message from Git indicates that it detected a potential security risk due to the repository’s ownership or permissions. This can happen if the repository is owned by a different user than the one running the Git command, often when […]
Google Chrome headless mode and open source project
💻 Google Chrome headless mode. php 的爬虫方式是使用curl库函数去抓去静态界面抓取,所以正则匹配的时候不是整个渲染的界面,而现在的网页中,有很多的数据以及界面采用的是二次加载,前端的界面也越来越复杂,为了更好的解决这个问题,大牛们提出了不同的解决方案: 注意⚠️ google的浏览器的指定版本,已经开始支持了Chrome Headless ,这导致了一些第三方的工具不去再去维护他们的项目。 1. phantomjs (已经停止开发维护) 👉 https://phantomjs.org/ Important: PhantomJS development is suspended until further notice (more details). PhantomJS is a headless web browser scriptable with JavaScript. It runs on Windows, macOS, Linux, and FreeBSD. Using QtWebKit as the back-end, it offers fast and native support for various web […]
【原创】如何使用我的 CloudFront 分配限制对 Amazon S3 存储桶的访问?
Related :
GoLang get the Client’s real IP.
🤡 注意import指定的包或者庫。 😀 一些Golang常用的快捷函數,想要寫花費一番時間,既然在PHP的編程中已經經歷了一遍,那麼就稍微總結一下 Golang 獲取客戶端真實IP 當初決定接觸Golang的原因是想了解一些Golang的編程方式,發現也有指針,就寫了一個Web的應用程式。 Ip2long 将 IPv4 字符串形式转为 uint32
fatal: unable to access git url:Recv failure: Connection reset by peer.
😀 fatal: unable to access ‘github url ‘: Recv failure: Connection reset by peer 網絡解決方案: 👉 New error: could not lock config file /home/ubuntu/.gitconfig: Permission denied Hi,Hi ,it is not working .. 最終發現使用curl 命令請求該git url的時候,出現: 查看git url的主機,發現請求到了giturl所在的服務器,但是顯示的是nginx的http code :499。 以前一直是正常的,但是最近出现的问题,检查了服务器端,目前并没有变化的配置,各种参数修改,发现并不行、由于Git服务器放在公司,通过域名供应商的ddns映射到公司的内网服务器上,我看有的用户反馈是ISP可能阻断这种git,curl,wget的http/https的请求,那如果真的是这种情况,就只能使用ssh协议进行clone代码了。 如下的文章: Nginx状态码499-错误分析 大家抄來抄去的,餅不符合所有的人。 我的问题是出现在阿里云的服务器上,比如:HongKong,华南的Linux服务器,在使用curl、wget、git请求git仓库的时候,发现都是Connection reset by peer 无奈,只能问阿里云的工程师。
Wireguard 部署安裝
WireGuard是一款开源的VPN协议软件,基于Linux的内核实现,利用Curve25519进行密钥交换,ChaCha20用于加密,Poly1305用于数据认证,BLAKE2用于散列函数运算,支持IPv4和IPv6的第3层。其配置简单并且比较安全再业界还是比较有名的,相比较OpenVPN和IPsec的配置,WireGuard绝对优于它们N个数量级,并且,你只需要配置通过一次,就基本知道WireGuard的调试方式,和其他VPN协议一样,WireGuard也获得了不同平台的支持。 📝 WireGuard的安裝部署測試 基礎環境 Ubuntu 系统(Client) &mac 系统(Client)& Openwrt(Client软路由) 安装基础软件 注意⚠️:安装该软件包,常用的命令是 wg,wg-quick 命令,而 **wg**命令会有一些子命令。 生成privateKey/PublicKey对 使用wg命令生成密鑰對,命令如下.(privateKey/PublicKey,只要有wg命令即可,不需要注意在Ubuntu或者Mac或者Openwrt平台) 1. 服務端密鑰生成命令: 2. 客戶端生成密鑰命令: 注意⚠️:上面一行是privateKey,下面一行是PublicKey Ubuntu服務器端的配置 如果客戶端還想上網,那麼就需要開啟Ip4的轉發了,Linux中開啟轉發的配置,需要在文件cat /etc/sysctl.conf中添加: 立即生效,需要執行命令: wireguard的配置文件目錄是/etc/wireguard/, 文件名字格式一般是xx.conf,內容使用INI的文件格式 下面寫了一個配置文件,文件名稱為/etc/wireguard/wg0.conf MacOS 配置wireGuard配置 直接打卡MacOS安裝好的WireGuard客戶端,新建一個新的Tunnel,編輯,配置如下: 點擊連結就會看到WireGuard與服務器端的握手信息了。 相比較OpenWrt,macOS的WireGuard的配置就很簡單了 OpenWrt 配置wireGuard上網 持續更新中.. 🤗 總結 wireguard想比較別的VPN的配置,簡單了很多,在組網的過程中,真的是一個很推薦的選擇,在客戶端的選擇上,WireGuard的支持也比較豐富,就是在大陸境內的wireGuard的客戶端選擇上,並不怎麼豐富,此WireGuard的管理界面在iKuai等一些特殊的版本才會有。不管怎麼樣,如果喜歡折騰命令行的話,wireGuard大概是一個不錯的選擇 📎 参考文章 💡 有关WireGuard安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
Golang:http: panic serving [::1]:60007: runtime error: invalid memory address or nil pointer dereference
Error message as below: 運行golang項目的時候,出現的問題,逐步排查吧,真的沒有辦法,我使用的是spew.Dump()函數打印的,最終找到了問題的梭子啊,排查的子問題如下: 最近維護舊系統,在使用Golang的http服務處理用戶的請求的時候發現本地cookie有點問題,提示如上, 想起來在保存本地的調試環境是localhost:8080,在保存cookieName的時候,想著添加一個host作為後綴,結果出現了上述的後綴,於是處理了host,代碼如下: 但是在增加了上述的信息以後,還是在getCookie的時候,出現上面的問題,突然想到瀏覽器本地的cookie緩存(開發者模式) 如圖,在找到該地方的內容以後,刪除即可。重新再請求,就沒有這個問題了