Category: Technical Document

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緩存(開發者模式) 如圖,在找到該地方的內容以後,刪除即可。重新再請求,就沒有這個問題了  

IP-广播IP

什么是广播IP?广播IP是不是不好? 广播IP是一种技术手段,是云服务器运营商将其拥有IP地址段分配到服务器所在地的一种方式,因此广播IP的运营商所在国家和服务器的地理位置可以不一致。比如香港的运营商把其IP地址段广播到新加坡、菲律宾、印尼等地。广播IP的价格非常亲民,可以获得和原生IP一致的网络体验。广播IP和原生IP相比并没有好坏之分,还是要看用户具体需求和使用场景。

MYSQL error (appending)

1. not allow grant (mysql 8.x) MYSQL8.0版本中,grant 命令已經做了一些限制,需要增加子用戶。 2. create user with ‘localhost’ limited. 3. first install the mysql-server ‘s log after you installed the my-server(8.0) ,the /var/log/mysql/error.log ‘s content as below : about the ‘—initialize-insecure’ introduction document link is Here. https://dev.mysql.com/doc/refman/8.0/en/server-options.html#option_mysqld_initialize-insecure if you want use the mysqld —initialize command to generate mysql database password, […]

PHP Development Note.

文章中紀錄在使用PHP項目開發中遇到的錯誤問題,但是這些問題在開發中經常碰到的日常問題,沒有必要老是去看文檔之類的解決問題,所以都總結到改文檔 Error Message 1: 解決方案: 查看該socket套接字的權限: 發現權限是: 查看php-fpm的配置文件,由於使用的php-fpm 的pool管理,所以要查看pool.d中的配置如下: Error Message 2: 今日在安裝部署PHP8.1-FPM的時候,nginx配置沒有問題,但是頻繁出現FILE NOT FOUND的提示。 nginx的日誌提示: 解決方案是修改PHP-FPM的配置: 修改為: 其中ubuntu 是當前登錄的Ubuntu系統的子用戶。 修改之後重啟php8.1-fpm問題就解決了。