利用Let's Encrypt永久免费使用HTTPS最简单的方法

发布于 / 小技巧 / Comments Off on 利用Let's Encrypt永久免费使用HTTPS最简单的方法

0x0、闲话

首先我觉得对于小型网站完全没有必要上HTTPS。HTTPS的维护要比HTTP麻烦,而且对资源的开销要比HTTP大。而且证书是有有效期而并非永久有效的。但是!!!

被运营商劫持了首页,修改js挂了广告,如此****的行为让我忍无可忍。下面说说如何使用Let's Encrypt获取免费的SSL证书,免费使用https。

0x01、申请证书

如果你觉得网上那些命令行生成证书的方法并不好用,你可以按照下面的方法手动申请。

首先点击这里:https://www.sslforfree.com/

接着,输入域名,creat Free SSL。

接着会提示三种方式验证这个域名确实是你的。如果你开启了FTP,可以直接使用FTP账号和密码进行验证。如果没有FTP,可以对域名添加指定的TXT记录(第三个),或在网站上上传指定的验证文件(第二个)。根据自己的方便进行验证。

接着我们点击Download SSL。。。即可下载证书和私钥。

0x02、安装证书

Apache:

关闭Apache:

./ usr/local/httpd/bin/httpd –k stop

添加SSL支持,执行 

vi /usr/local/httpd/conf/httpd.conf

#Include conf/extra/httpd-ssl.conf← 找到这一行,将行首的"#"去掉  

↓ 

Include conf/extra/httpd-ssl.conf

 

重定向(强制https。可选)在httpd.conf文件尾加入如下内容:

<IfModule rewrite_module>  
RewriteEngine on  
RewriteCond %{SERVER_PORT} !^443$  
RewriteRule ^/?(.*)$ https://%{SERVER_NAME}/$1 [L,R]  
</IfModule>

设置加密文件,在文件/usr/local/httpd/conf/extra/httpd-ssl.cnf中,将以下几行的注释去掉,并修改相应路径如下:

SSLCertificateFile "/usr/local/httpd/conf/sign/server.crt"  
SSLCertificateKeyFile "/usr/local/httpd/conf/sign/server.key"  
DocumentRoot "/srv/com.iaspec/saas/live"

启动apache:

./usr/local/httpd/bin/httpd –k start

安装完毕。

Nginx:

在server字段添加指定的三行即可。记得要自行修改文件位置。

server {  
    listen       443 ssl; 
    server_name  test.com;  
    #开启ssl支持  
    ssl                  on;  
    #指定PEM格式的证书文件   
    ssl_certificate      /path/to/test.pem;   
    #指定PEM格式的私钥文件  
    ssl_certificate_key  /path/to/test.key;  
      ......
}

如果希望用户访问http强制跳转到https,只需要在http字段加上下面的内容即可

    server {
                                listen  80;
                                server_name test.com;
                                rewrite ^(.*)$  https://$host$1 permanent;
                }

如果希望http和https都可以访问,在listen 443;下面加上listen 80;即可。

最后重启nginx。安装完毕

转载原创文章请注明,转载自: 斐斐のBlog » 利用Let's Encrypt永久免费使用HTTPS最简单的方法
评论已关闭