解决”ERROR: The certificate of `github.com’ is not trusted.”问题

今天早上有在GITHUB下载一个脚本到VPS中的时候有出现"ERROR: The certificate of `github.com’ is not trusted."的错误提示。应该意思是这个证书可能不被信任,反正就这个提示,正式存在的,我换了其他有HTTPS网址也无法WGET下载,应该是这个问题。

解决办法:

--no-check-certificate

我们可以直接在wget后面加上脚本即可。

或者我们可以:

apt-get install ca-certificates -y #Debian/Ubuntu

yum install ca-certificates -y  #CentOS

安装完毕之后应该是可以不用上面脚本直接可以wget。

解决腾讯云轻量服务器国内机器无法使用Github的方法

最近鹅厂搞了一波轻量应用服务器无忧计划,还没有了解的朋友请看传送门:轻量无忧计划 Lighthouse Care,想必买到的朋友们都用起来了吧,本人买了一年准备用在生产之中结果上不去GitHub无法拉取库,原来是Github在国内访问速度慢的问题原因有很多,但最直接和最主要的原因是GitHub的分发加速网络的域名遭到dns污染,导致国内机器连不上仓库,安装部分服务受到影响。

解决思路:修改Host

通过手动获取github能正常访问的地址,然后修改系统hosts文件,绕过国内dns解析,直接访问GitHub的CDN节点,从而达到加速的目的。

解决办法:

打开https://www.ipaddress.com/

查询以下链接的DNS解析地址:

1. github.com
2. assets-cdn.github.com
3. github.global.ssl.fastly.net
4. codeload.github.com
5.raw.githubusercontent.com

如图所示:

然后修改本地hosts文件:

/etc/hosts

将上面的ip解析手动加入文件:

192.30.253.112 github.com
199.232.28.133 raw.githubusercontent.com

正常来说,加入上面两个github地址即可。

这样就可以正常使用生产啦!

Cloudflare自动开盾

Cloudflare的I”M UNDER ATTACK模式也就是传统的五秒盾在某种程度上可以有效的缓解CC攻击,但是如果一直开着会影响用户的使用体验,所以说一个CF自动开盾脚本是很有必要的,我这里使用的Cloudflare代理商笨牛所提供的脚本,如果不想用笨牛网的方法也可以去Github找一个脚本。

一、首选打开笨牛官网,登陆自己的CF账号,在主面板点击自动开盾

二、进入页面后下载Shell脚本,并且复制好他给你的Token

三、修改脚本配置,填写TOKEN,选择检测模式,和开盾持久时间

这里我选择的是CPU如果五秒占用九十以上开启盾,开启时间为6min

四、最后一步,SSH到你的服务器,chmod+x tz.sh赋权,再设置个定时任务1分钟执行一次,或者用宝塔面板的定时任务,像我这样

PS:昨天由于用了这个脚本后又用了GITHUB上一个开验证码的脚本,两个脚本一起跑,导致服务器小鸡处理不过来对CF的api请求,服务器最高负载到了20多,我还以为有人在打我,

查看日志后发现日志竟然10M!! 我干,连忙下载下来分析了一波,顺便把ip拉入黑名单来着,结果发现,访问ip除了Cloudflare就是我自家ip

小丑竟是我自己

162.158.179.156 - - [24/Jan/2021:17:31:20 +0800] "GET /api/v1/admin/server/group/fetch HTTP/1.1" 200 395 "https://u-vps.com/19?cf_chl_captcha_tk=c88bdd8eebe02129632afcec2fddb1db619222d7-1611480649-0-AfFBYInAsDbh5dQrUePmxfpnzwPpwkEGm-o0CppKhXyAgrjPdUs37nPdfmNxmLnihlpgK43UF_UW_8nhz-rNnd_Ha8nId_etRCUe6HQmmcUCV4FNI728nNzXKNiKdrkDdRlh79xfOTNyiFoA9LiNv04ppRukI0IW90u2weTN2TQVBvgbh0_iIJiGIi61JydnkQnAtU3VeXJx1ZRRpYi_Ztb7GM4PGZYBMwLqr011aJAYvazC4e8MLaSohldMgpTOTtTmDoNuARfENr8OtAcU3n_5aQzgrp5ykD1QNSDHNPDEHwneqR1FFqr6qiIsTMuAh9R_ezuaKSp4znZnn0Fz37zo1OaZY7PCoClTFhe0IzO3SSfO9qqvn-j9HsCfwM00Z-G7T_6ipihPx2vKAZ30gqfxRb9jzEnE8UfjRuZxfL7x9oPS1kaROkLp3o7iUsDl4nLxdOv28MlnB_-A1GRIdfTH4hgjrq2KoQ1_v-kRvBEP8fZsuez_0PrFlPREPkrQW9eV1_1pD7dKvhb-yOpheaj9GqWS42dOtRQa5FYWP5uo8zd-2YmH7di8JFkAOAuobUQHVmrvnnWP4LHv3cnN9Gc" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36"

支付成功显示未支付解决方案

昨晚突然收到客户私信反馈,说是付款成功后却显示未付款

这类问题通常是服务器异步通知(notify_url)、页面跳转通知(return_url)出错

遇到这种情况首先查看服务器是否出问题,一般服务器出问题在支付接口点补单或再次尝试即可成功,但是补单后仍显示未付款,应该是服务端配置出问题了

我网站所使用的接口为基于易支付开发的章鱼支付,查看官网开发文档

其中请求方式为GET指令,经查看后我使用的服务端模板异步通知为POST指令,修改HTTP请求指令

理论上来讲,POST的请求请求参数在HTTP包的包体中,比GET请求的数据会附在URL之后更安全,但是不知开发者咋想的,可能是认为支付成功返回通知没那么重要了?前面的统一POST后面突然来了个GET搞得我措手不及,真是神经病

如何你也是用的Cloudflare 请把支付请求的路径列到防火墙规则里面

图中有一个错误,URL路径后的运算符应该是包含而不是等于

01.20

这几天过得比较漫长,说是漫长也是三天,说是充实也是虚度,学习感觉到了厌倦期要及时调整,比如实在不想看心理学了,打着字打着突然觉得键盘突然没那么亲肤了,我不一个很有定力的人,甚至可以说善变,但是不想因为自己的这种印象到其他的事物,比如爱好学习甚至爱人 这几天把机场搞的很完善了但是每次入账但是总感觉不真实的感觉 这两天沉迷于小埋大佬的NAT 价格实在诱人 几毛钱的nat要啥自行车 月付14的香港原生ip可以把移动拉满 好久没洗头了 洗了头