源程序如何获取客户端真实IP
CDN默认给源服务器发送了两个请求头,X-Real-IP和X-Forwarded-For,这两个请求头都带有客户端的真实IP。
源程序在不配置的情况下,默认获取到的是节点IP,下面有两种方法来获取真实客户端IP
配置宝塔Nginx,不用修改网站程序
未配置前:
其中106.55.151.50是节点IP
开始配置:
在配置文件里,增加
set_real_ip_from 0.0.0.0/0;
real_ip_header X-Forwarded-For;
如图:
配置后,访问日志里显示真实IP了
修改网站程序
如果是php程序,就使用如下代码获取真实IP
$realIP = $_SERVER['HTTP_X_REAL_IP'];
即从X-Real-IP请求头获取
如何关闭宝塔防火墙
为了防止宝塔防火墙拉黑CDN节点,需要关闭宝塔的防火墙。方法如下:
1. 关闭Nginx免费防火墙
软件商店-》找到Nginx免费防火墙,点击设置弹出设置页面,点击关闭防火墙,如图:
2. 关闭Nginx付费防火墙
如果购买有Nginx付费的防火墙,在左侧菜单点击防火墙,切换到全局设置,点击防火墙开关关闭,如图:
如何设置多个网站使用同一个cname地址
- 切换到套餐管理-》基础套餐,点击编辑,展开cname设置,cname模式选择按套餐,如图:
- 返回基础套餐列表,选择刚才的基础套餐,点击同步数据,选择cname模式点击同步,如图:
- 切换到套餐管理-》已售套餐,选择已售套餐,点击同步数据,选择cname模式点击同步,如图:这样网站列表里显示的cname地址就是同一个了。
如何配置IP的https
1. 用管理员添加域名为IP的网站
假如节点ip为1.2.3.4,回源ip为8.8.8.8,如图:
2. 上传IP为1.2.3.4的https证书
3. 编辑网站,选择刚才的证书
4. 设置此IP网站为默认站点
点击编辑网站,切换到”高级配置”,拉到最后,设置为默认站点
出现530错误如何解决
检查域名是否已经添加到CDN
复制出现530的域名,在网站列表里搜索,看是否能找到这个域名
检查访问的端口是否已经监听
比如你打开http://www.baidu.com/出现530,那边需要在http监听80端口
比如打开的是http://www.baidu.com:8080,需要在http监听里加8080端口
比如打开的是https://www.baidu.com:4433,需要在https监听里加4433端口
是否已经解析到正确的cname地址
打开后台的“网站管理”-》“查看更多”-》“所有域名”,输入出现530错误的域名,点击搜索,看解析状态是否正常
如果不正常,请更正解析
检查节点的配置文件语法
- 找出哪个节点出现530错误。打开https://www.itdog.cn/http/,输入要检查的域名,点击快速检查,找到状态为530的一行,查看响应IP是哪个节点,登录这个节点
- 在出现530错误的节点的服务器执行命令
/usr/local/openresty/nginx/sbin/nginx -t
如果出现如下图输出,表示语法没有问题,否则需要根据输出的错误来解决语法问题,或者联系技术服务。
检查节点内存不足,端口冲突问题
- 登录出现530错误的节点,执行命令
ps aux | grep \[/]usr/local/openresty/nginx/sbin/nginx | awk '{print $2}' | xargs kill -HUP || true
- 检查/usr/local/openresty/nginx/logs/error.log错误日志是否有错误,比如内存不足的错误,或者端口冲突的错误
访问网站出现504错误怎么办
当访问网站返回504状态码时,表示节点无法访问源IP,按下面步骤检查
- 登录节点,执行curl -v 源ip,看是否能连接,如果不能连接,看看源服务器是否正常
- 联系节点机房是否有拉黑源IP
- 联系源服务器是否有拉黑节点IP
- 使用itdog.cn测试源IP是否能联通
访问网站出现502错误怎么办
当访问网站返回502状态码时,表示节点连接源服务器时,连接被断开,按下面步骤检查
- 如果源服务器装的是宝塔,请关闭宝塔防火墙看看
- 如果源地址里填的是域名,检查主控后台,全局设置-》Nginx设置,resolver里配置的DNS在节点是否能检查此域名,比如配置的dns为8.8.8.8,源地址是www.qq.com,在节点使用命令nslookup www.qq.com 8.8.8.8来测试是否能解析,如果不能解析,请更换源地址,或者更换dns
- 检查回源端口,是否在源服务器有监听,在节点使用命令curl -v 源ip:回源端口 测试
- 先用itdog.cn测试看下是哪个节点出现的502在节点,使用如下命令测试回源是否正常
如果回源协议是http,回源端口为80, 则测试命令为
curl -v --resolve 域名:80:源IP http://域名/
如果回源端口是443,回源协议是https,则测试命令为
curl -v -k --resolve 域名:443:源IP https://域名/
如何固定网站CNAME为同一个
cname生成模式分为按网站和按套餐,他们有以下几个区别:
1)按网站生成的cname是随机的,每一个网站的cname地址都不一样。按套餐生成的cname,用这个套餐的网站的cname地址都是一样的
2)一个网站的cname模式是按套餐的话,网站如果更换套餐,cname地址是会变的,cname模式为按网站的话,换套餐时,cname地址不变
3)对于更换网站线路组而言,一个网站的cname模式为按网站的话,可以直接对这个网站更换线路组;如果是按套餐的话,不能直接对这个网站更换线路组,只能对这个网站用的套餐更换线路组,更换之后会影响这个套餐下的所有网站
网站默认生成的cname地址是随机的,如果想固定此cname地址,可以把cname模式改为按套餐
- 先改基础套餐的cname模式,如图:
- 再同步数据到已售套餐
- 再同步数据到网站和四层转发也可以只对指定网站,或者指定已售套餐下的网站更换
对于网站,是在网站列表里更换,如图:对于修改指定已售套餐下的网站,如图:
网站无法加载http静态资源怎么办
开启网站的https后,无法加载http的静态资源,如css,js等
方法一:
如果源服务器配置了https,可以把回源协议改为https
方法二:
添加响应头:名称:Content-Security-Policy 值:upgrade-insecure-requests
如图:
签发证书出现no avaible account
主控执行命令
mysql -uroot -p@cdnflypass cdn -e "update lets_account set create_failed_at=null;"
执行后,重签如果还是同一个错误,那就只能等待3个小时再试了,这个是同一个ip注册的lets账号过多导致的。
如何配置中文等域名
https://tool.cccyun.cc/punycode
点击如上链接,先转码,再填到域名里
如何修改证书的签发类型
最近发现let’s encrypt申请.top .life等域名会出现DNSSEC: DNSKEY Missing的错误,实际上域名并没有开启DNSSEC,然后切换到ZeroSSL可以申请成功,下面是切换的方法:
- 如果证书已经申请了,但失败了,可以到证书列表里修改类型重签,如下:
- 然后可以修改默认的证书类型,这样在网站列表里一键申请,就会使用默认的证书类型了,如图:
暂无评论内容