2018年3月

FreeSSL.org:免费提供TrustAsia/Let's Encrypt(支持通配符) SSL证书 附:简单申请教程

  • 申请地址

申请地址:https://freessl.org

  • 官方介绍

为什么要使用我们免费申请证书的服务?

1、100% 永久免费

再也不用付费申请 SSL 证书. 非常感谢 Let's Encrypt 与 TrustAsia 为我们提供免费SSL证书。

2、广泛被信任

我们所提供的免费 SSL 证书被 99.9% 的主流浏览器所信任。

3、使用 SSL 的优势

保护用户的数据,增加用户的信任;提高搜索的排名;保护网站免受黑客的攻击。

4、到期提醒服务

我们会在证书到期前 30、7 天通过邮件提醒您,您可登录到管理后台管理查看你的证书。

5、私钥安全有保障

我们采用浏览器本地生成私钥,从而保护私钥不在网络上传播,确保了您的证书安全。

关于FreeSSL是如何运行的?

1、提供 Let's Encrypt 与 TrustAsia CA 的免费HTTPS证书申请。

两者均通过验证域名的方式申请:

  • Let's Encrypt 通过其官方 ACME 服务生成。
  • TrustAsia 通过其官网 OpenAPI 的方式生成。

2、私钥(Private Key)通过浏览器自主生成,保证私钥安全。

对于现代浏览器,我们在浏览器中使用 Web Cryptography API 生成一个私钥,从而保证你的私钥不会在网络上传输。当HTTPS证书申请成功后,私钥将会从您的浏览器中删除。如果您的浏览器 不支持 Web Cryptography API,我们将从服务器生成私钥,通过 HTTPS SSL 下发给您,我们承诺绝不保存用户私钥。但是,为了更好的安全性,我们仍然建议使用支持 Web Cryptography API 的浏览器来生成客户端。您还可以在生成证书时提供自己的 CSR,这种情况下,您将绝对的保证私钥的安全。

  • 申请步骤

下面简单的说下申请步骤,这里就以申请 Let's Encrypt 通配符SSL为例,如果需要申请其他证书,请自行在下方选择:

1、直接输入你要申请的域名,如:*.example.com (如果申请多域名证书,则多个英文域名使用逗号隔开,通配符则会在点击创建后自动补全顶级域名example.com),点击创建免费的SSL证书

2、输入邮箱、申请的证书品牌、证书类型、验证方式以及选择CSR生成等

关于证书类型的ECC和RSA,这里不做详细介绍了,具体可自行了解,新手或者不是很了解这两种类似证书的同学,建议选择最常见的RSA即可,CSR也可以直接选择浏览器生成

3、验证DNS

目前,Let's Encrypt通配符证书暂时只支持DNS验证方式,会给出解析记录,去到你的域名DNS解析管理平台做好DNS的TXT解析,具体操作可以参考之前的文章《Let’s Encrypt:免费 通配符(野卡)域名证书 申请方法》

这里,会在你点击生成后自动给出TXT记录,并在下方有一个60秒的自动倒计时验证,如果没有自动完成DNS解析验证,可以在后面点击手动验证。

4、下载证书

验证完成后,则会在页面下方显示你的证书文件和私钥文件内容,可以点击下面的下载证书,将证书文件下载到本地保存。完整如图:

注意:这里下载的证书文件压缩包,包含:

证书文件:full_chain.pem(此文件内容同时包含了完整的证书链,方便使用nginx的同学直接使用

私钥文件:private.key

 

其实,还有很多申请免费SSL的地方,以后再为大家介绍吧。

SSLforFree: 已经支持Let’s Encrypt通配符SSL签发

  • 关于SSLforFree

 之前也有文章已经提到过这家,提供网页免费申请SSL证书,无需拥有VPS服务器,提供的也是Let’s Encrypt的证书。值得一提的是,看到消息说已经支持签发通配符了。这就方便那些使用虚拟主机的朋友了。

  • 申请地址

https://www.sslforfree.com ;

SSLforFree官方说明:

1.Free Wildcard Certificates

Wildcard certificates allow you to secure a domain and any subdomains under that domain. If you wanted to secure any subdomains of example.org that you have now or in the future you can make a wildcard certificate. To generate wildcard certificates add an asterisk to the beginning of the domain(s) followed by a period. Wildcard domains do not secure the root domain so you must re-enter the root domain if you want it also secured under one certificate. For example to create a wildcard domain for example.org enter .example.org example.org. To create a wildcard certificate for multiple domains such as example.org and example.com enter .example.org example.org .example.com example.com. Manual DNS verification will be required.

2.Multiple Domains or Subdomains or Wildcards

Multiple domains or subdomains are allowed and should be separated by spaces (e.g. "subdomain.domain.com domain.com otherdomain.org .wildcarddomain.com"). If the multiple domains or subdomains pertain to multiple directories then you must use manual HTTP verification and upload verification files to the correct directories or use DNS verification.

3.Prevent WWW from being Added

We automatically add the www version of the domain if not already added as most users want that implicitly. To remove the www just submit the domains you want to verify then on the verification page near the top click on "Add / Edit Domains" and remove it and submit again.

  • 有弊有利 

1.使用这个网站申请自然是方便了没有vps操作,使用虚拟主机建站的朋友

但是在这里申请的SSL证书,需要在90天到期前,再次来申请并手动替换原有的SSL证书和私钥key文件。

2.如果你是使用vps服务器建站,并使用Acme.sh脚本工具申请,则会自动在到期前检查并重新签发替换。

  • 相关文章以及参考 

1.Let’s Encrypt:免费 通配符域名证书将于 2018 年 2 月 27 日上线(附:旧版申请方法) 

2.Let’s Encrypt:免费 通配符(野卡)域名证书 申请方法

3.SSLforFree: 我已经支持通配符签发

Let’s Encrypt:免费 通配符(野卡)域名证书 申请方法

  • Let’s Encrypt 简介

Let’s Encrypt的通配符原本之前官方说的是2月27日上线,但是居然跳票了!不过,这两天又看到说正式出来了,就去测试了下,就为大家带来了这篇文章了。

关于介绍这里就不再叙述了,更多请看之前的文章:《Let’s Encrypt:免费 通配符域名证书将于 2018 年 2 月 27 日上线(附:旧版申请方法)》

  • 通配符SSL申请方法

本次教程主要使用之前有提到的脚本工具 Acme.sh 来申请。同样也可以使用官方的工具 cerbot 来申请,不过Acme.sh脚本要方便很多了。

注意,目前测试通配符SSL证书只能使用DNS验证

1. 首先,安装Acme工具登录你的vps服务器,执行命令:curl https://get.acme.sh | sh

或者  wget -O -  https://get.acme.sh | sh

默认当前目录,如果你root登录后直接执行以上命令,会安装在/root目录下,目录名称为:.acme.sh 默认这个目录为隐藏属性700

安装成功如图(国内服务器可能会比较慢点,懂?):

2. 开始申请,并生成TXT记录以供DNS解析验证

进入Acme.sh 目录:cd .acme.sh

执行命令,获取TXT解析记录:./acme.sh  --issue -d .youdomain.com -d youdomain.com --dns (自行替换youdomain.com为你的域名)

这里就默认就用了通配符子域名和顶级域名,即和@ ,如果你还想加一个www ,就再空格后加上-d www.youdomain.com ,既然是通配符,也就无需www了,直接参考使用上面的命令就足够了

同时,这里补充点,你如果只是申请单个域名的话或者比如旧版的支持多个不同域名的DV证书,就可以在后面加上 你想要多个-d以及你的不同域名即可

DNS获取如图:

3. 添加域名的TXT解析记录

去你的域名注册商(如果使用dnspod等第三方解析服务商,请自行去操作),按照上图添加TXT解析记录。

主机名(主机记录):_acme-challenge  记录类型:TXT  记录值:请根据上图步骤填写

注意:你添加了几个-d 就必须做几条解析记录,博主这里测试的时候是两个,所以必须添加两条TXT解析记录

博主这里测试使用的是dnspod.cn的解析服务。

4. 申请并生成SSL证书

执行命令,开始验证TXT记录,并生成SSL证书:./acme.sh  --renew -d *.youdomain.com -d youdomain.com  (自行替换youdomain.com为你的域名)

如果dns验证成功,则会自动申请SSL证书并显示输出证书内容,以及证书和私钥key文件等存放路径。

说明:1. 默认会在.acme.sh安装目录下生成一个以你的域名youdomain.com为名称的目录,包含:SSL证书文件youdomain.com.cer 、 私钥key文件youdomain.com.key 、 CA证书文件ca.cer 、完整证书链文件fullchain.cer(文件文本内容为你的ssl证书+ca证书文件内容,适用于nginx)

2. Let’s Encrypt的通配符证书和以往一样,有效期90天,你可以参考ACME.sh工具说明:https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E 设置自动更新证书

证书示例:

到此,申请教程结束,本文为方便新手就不使用官方的工具 cerbot 来申请了。老手飘过,喜欢折腾的可以自己去试试cerbot申请。

最后,欢迎转载,注明出处即可。

Typecho/WordPress使用CDN后无法获取真实访问者IP(所有IP均为CDN服务器地址)的解决办法

  • 问题表现

最近,博主折腾了一下CDN,也是因为现在的服务器感觉有点慢了,就想着那另外一台服务器自建了CDN(说得挺高大上,其实就是Nginx反代) ,但是出现了一些问题:后台以及各种统计工具中,所记录的访问者IP都是同一个?就是那台CDN服务器的IP。

好吧,其实是忘记修改了,这篇文章就是做个记录,同时也为那些新手遇到同样的问题,好尽快解决。

  • 解决办法

其实nginx反代一直都有这个问题,这次折腾就忘记做修改了。解决办法很简单,只需要修改下程序加入以下代码即可。 无论是Typecho还是WordPress,都是通用的,需要修改配置文件。Typecho是config.inc.php,WordPress是wp-config.php,修改加入代码:

if (isset($_SERVER['HTTP_X_REAL_IP'])) {$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_REAL_IP'];}

如图,就是Typecho的修改方法,其他程序基本差不多的:

  • 最后啰嗦

最后再啰嗦一下

数据操作有风险,请注意提前备份。记录下来,希望能帮到别人吧。

至于,自建CDN,以后有空再写写相关的教程吧。  现在大厂也都提供了比较稳定的CDN服务了,基本网站也就够用了。如果不是喜欢折腾,就没必要了。 

MySQL关闭/定期自动清理/手动清理 binlog 日志文件

一、写在前面

   相信很多人一般都是使用各种一键安装包(如:OneinStack、宝塔、WDCP等)来搭建网站运行环境,这些一键包所安装的MySQL大多默认是开启了日志文件的,如果数据操作比较频繁就会产生大量的日志,在数据库目录下面产生mysql-bin.000001--00000x的文件,而且一般都在几十MB到几个GB,更甚会占用整个硬盘空间,从而导致mysql无法启动或报错。

PS:博主曾经也是没有关这个,binlog日志一度涨到20G多,哈哈哈哈,嗝。

提示任何数据操作有风险,请提前做好备份,如数据异常,请自行负责。

常见web环境安装包:

Linux:

OneinStack

LNMP军哥

LNMP一键包

WDCP

宝塔Linux版

Win:

PhpStudy

UPUPW

宝塔面板Windows

本文主要以linux环境为例说明,windows环境下修改方法基本一致。

二、关闭mysql的binlog日志

1、在命令行下登录mysql服务

这里博主测试环境使用的是OneinStack,mysql的安装路径是在/usr/local/mysql,其他环境请自行查找路径并替换为你的

执行以下命令(以mysql超级用户root登录):

/usr/local/mysql/bin/mysql -u root -p

登录成功如图

2、重置清空日志

输入执行命令:reset master;

如图则表示已经清空,binlog日志文件也变成mysql-bin.000001了

3、修改mysql配置文件

文件位置:/etc/my.cnf (同理,其他环境路径请自行查找修改)

找到

log-bin=mysql-bin
binlog_format=mixed

注释这两行,在前面加上#号,最后重启mysql即可

三、手动清理binlog

登录mysql服务后,执行命令:

PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 10 DAY);   //删除10天前的MySQL binlog日志,可以根据需求修改时间show master logs;   //查看当前日志情况

或者使用清空命令:reset master; 清空全部日志

四、定期自动清理binlog(建议)

修改配置文件/etc/my.cnf,设置expire_logs_days,并重启mysql服务

如选择定期自动清理,则无需关闭binlog,即不用注释log-bin=mysql-binbinlog_format=mixed

# vi /etc/my.cnf  //修改expire_logs_days,这里的值表示自动删除的天数,一般设置短点,如7expire_logs_days = 7  //日志自动删除的天数。默认值为0,表示“没有自动删除”

如图

五、写在最后

   这里要说明一下,关闭Binlog有利也有弊。如数据异常还可以尝试从binlog中恢复,如不关闭又将占有大量磁盘空间。所以,还请自行选择是否关闭binlog。

   并注意养成平常定期备份数据的习惯。

 


Warning: in_array() expects parameter 2 to be array, null given in /www/users/HK1590886/WEB/usr/plugins/TopLamuLeimu/Plugin.php on line 85