打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
免费SSL证书Let’s Encrypt安装使用教程:Apache和Nginx配置SSL3

四、 Ngnix配置Let's Encrypt免费SSL

1、注意查看你的Let's Encrypt免费SSL证书保存位置,一般是在/etc/letsencrypt/live/freehao123.com这样的下面。

2、fullchain.pem就是公钥,privkey.pem就是私钥。有了这两个文件我们就可以在Ngnix上配置SSL证书了。OneinStack一键工具在创建虚拟主机时可以选择为网站配置SSL。

3、如果有用OneinStack,那么最简单的方法就是用fullchain.pem和privkey.pem替代原来生成的CRT和Key文件,这样做的好处就可以保留Ngnix配置的SSL证书路径,只要简单修改引用的公钥和私钥即可。

4、当然,为了后面的操作方便,我们建议保留Let's Encrypt生成的SSL证书,直接在网站的配置中修改SSL证书引用路径。使用VPS主机创建网站时会为网站生成一个.conf文件。

5、这个这个.conf文件,直接替换掉ssl_certificate和ssl_certificate路径即可,如下图:

6、OneinStack的Nginx配置SSL证书代码示例:

server {listen 443 ssl http2;ssl_certificate /etc/letsencrypt/live/freehao123.org/fullchain.pem;//改动地方1ssl_certificate_key /etc/letsencrypt/live/freehao123.org/privkey.pem;//改动地方2ssl_session_timeout 10m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;ssl_ciphers ECDHE-SHA384:ECDHE-RSA-:ECDHE:!DES:!3DES:!MD5:!DSS:!PKS;ssl_session_cache builtin:1000 shared:SSL:10m;resolver 8.8.8.8 8.8.4.4 valid=300s;resolver_timeout 5s;server_name www.freehao123.org freehao123.org;access_log /data/wwwlogs/www.freehao123.org_nginx.log combined;index index.html index.htm index.php;include /usr/local/nginx/conf/wordpress.conf;root /data/wwwroot/www.freehao123.org;if ($host != www.freehao123.org) {    rewrite ^/(.*)$ $scheme://www.freehao123.org/$1 permanent;    }server {listen 80;server_name www.freehao123.org;rewrite ^/(.*) https://$server_name/$1 permanent;}

7、最后重启Nginx,打开浏览器就可以看到SSL证书已经成功配置好了。

8、对于安装了LNMP的朋友,可以参考以下代码修改自己的Nginx配置。

server{listen 443 ssl;   //如果需要spdy也可以加上,lnmp1.2及其后版本都默认支持spdy,lnmp1.3 nginx 1.9.5以上版本    默认支持http2server_name www.freehao123.com;     //域名index index.html index.htm index.php default.html default.htm default.php;root /home/wwwroot/www.freehao123.com;            //网站目录ssl_certificate /etc/letsencrypt/live/www.freehao123.com/fullchain.pem;    //前面生成的证书ssl_certificate_key /etc/letsencrypt/live/www.freehao123.com/privkey.pem;   //前面生成的密钥ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;ssl_session_cache shared:SSL:10m;include wordpress.conf;  //这个是伪静态#error_page 404 /404.html;location ~ [^/]\.php(/|$){# comment try_files $uri =404; to enable pathinfotry_files $uri =404;fastcgi_pass unix:/tmp/php-cgi.sock;fastcgi_index index.php;include fastcgi.conf;     //lnmp 1.0及之前版本替换为include fcgi.conf;#include pathinfo.conf;}

五、Apache配置Let's Encrypt免费SSL

1、首先,我们需要对Apache的配置进行修改,打开 /usr/local/apache/conf/httpd.conf ,查找httpd-ssl将前面的#去掉,然后执行命令(注意将路径换你自己的):

    cat >/usr/local/apache/conf/extra/httpd-ssl.conf<<EOF    Listen 443    AddType application/x-x509-ca-cert .crt    AddType application/x-pkcs7-crl .crl    SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH    SSLProxyCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH    SSLHonorCipherOrder on    SSLProtocol all -SSLv2 -SSLv3    SSLProxyProtocol all -SSLv2 -SSLv3    SSLPassPhraseDialog builtin    SSLSessionCache "shmcb:/usr/local/apache/logs/ssl_scache(512000)"    SSLSessionCacheTimeout 300    SSLMutex "file:/usr/local/apache/logs/ssl_mutex"    EOF

2、接着,在你创建的网站的Apache配置的最后</VirtualHost>下面添加上SSL部分的配置文件:

<VirtualHost *:443>DocumentRoot /home/wwwroot/www.freehao123.com   //网站目录ServerName www.freehao123.com:443   //域名ServerAdmin admin@freehao123.com      //邮箱ErrorLog "/home/wwwlogs/www.freehao123.com-error_log"   //错误日志CustomLog "/home/wwwlogs/www.freehao123.com-access_log" common    //访问日志SSLEngine onSSLCertificateFile /etc/letsencrypt/live/www.freehao123.com/fullchain.pem   //之前生成的证书SSLCertificateKeyFile /etc/letsencrypt/live/www.freehao123.com/privkey.pem    //之前生成的密钥<Directory "/home/wwwroot/www.freehao123.com">   //网站目录SetOutputFilter DEFLATEOptions FollowSymLinksAllowOverride AllOrder allow,denyAllow from allDirectoryIndex index.html index.php</Directory></VirtualHost>

3、最后就是重启Apache,然后打开浏览器就可以看到SSL证书配置成功了。

六、 Let's Encrypt免费SSL证书续期

1、Let's Encrypt免费SSL证书有效期是90天,也就是每三个月你就得续期一次。采用官方的方法获取到的免费SSL证书,你不需要更改Apache和Nginx配置代码,执行以下代码即可自动替换证书为新的(注意修改域名和邮箱):

./letsencrypt-auto certonly --renew-by-default --email freehao123@gmail.com -d freehao123.org -d www.freehao123.org

2、采用上面脚本快速获取Let's Encrypt免费SSL证书的,在90天内再次执行命令即可:./letsencrypt.sh letsencrypt.conf。

3、cron 定时任务。每个月自动更新一次证书,可以在脚本最后加入 service nginx reload等重新加载服务。

0 0 1 * * /etc/nginx/certs/letsencrypt.sh /etc/nginx/certs/letsencrypt.conf >> /var/log/lets-encrypt.log 2>&1

七、Let's Encrypt免费SSL证书使用小结

Let's Encrypt免费SSL证书获得方式比较简单,不管采用何种方式,只要能够得到证书和密钥,我们就可以在自己的服务器上配置好SSL。上面讲到了Apache和Nginx的配置方法,如果你有自己的虚拟主机面板,可以直接通过后台添加证书和私钥文件即可。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
申请Let's Encrypt永久免费SSL证书
如何免费的让网站启用HTTPS
教你快速撸一个免费HTTPS证书 | Fundebug博客
Let's Encrypt,免费好用的 HTTPS 证书
使用 acme.sh 和 DNSPod 配置和自动更新 Let's Encrypt 证书 | Eth...
申请Let''''s Encrypt通配符HTTPS证书
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服