Let'sencrypt认证的网站Https配置
2016-09-11 11:59
543 查看
推荐使用这个脚本,具体说明里面都有
https://github.com/xdtianyu/scripts/tree/master/le-dns
它是通过调用dns服务商的api更新txt记录实现,无需指定网站目录及dns解析,支持dnspod和cloudxns两大服务商
弄完之后看这篇文章配apache
https://www.cloudxns.net/Support/detail/id/906.html
============ 我是分割线 =============
先弄个文件夹放东西
mkdir /usr/local/openssl
生成账户和网站的key
openssl genrsa 4096 > account.key
openssl genrsa 4096 > zhiyi.key
生成证书
openssl req -new -sha256 -key zhiyi.key -subj "/" -reqexts SAN -config <(cat /etc/pki/tls/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:snsproject.com,DNS:www.snsproject.com")) > zhiyi.csr
如果说找不到openssl.cnf,先全局搜下这个文件在哪里,如果搜不到就装一个openssl
下载一个python的小工具
wget https://raw.githubusercontent.com/diafygi/acme-tiny/master/acme_tiny.py
运行之,生成验证的签名crt文件
python ./acme_tiny.py --account-key ./account.key --csr ./zhiyi.csr --acme-dir ./www/acme-challenge/ > ./signed.crt
注意,它会生成一个文件,然后通过http://yoursite.com/.well-known/acme-challenge/+文件名获取这个文件进行验证,所以一定要确保这个文件通过刚才的url能访问到
6. 得到签名后,生成网站证书
wget -O - https://letsencrypt.org/certs/lets-encrypt-x1-cross-signed.pem > intermediate.pem
cat signed.crt intermediate.pem > chained.pem
7. 部署篇请见之前写的
8. 由于证书90天有效,需要自动刷新证书脚本
vi autorefresh.sh
#!/bin/bash
cd /usr/local/openssl/
python ./acme_tiny.py --account-key ./account.key --csr ./zhiyi.csr --acme-dir ./www/acme-challenge/ > ./signed.crt
wget -O - https://letsencrypt.org/certs/lets-encrypt-x1-cross-signed.pem > intermediate.pem
cat signed.crt intermediate.pem > chained.pem
service httpd restart
vi /etc/crontab
在最后加上一行
0 0 4 * * root /usr/local/openssl/autorefresh.sh >/dev/null 2>&1
9. 设置重定向https
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} !^/.well-known
RewriteRule (.*) https://%{SERVER_NAME}/$1 [L,R]
https://github.com/xdtianyu/scripts/tree/master/le-dns
它是通过调用dns服务商的api更新txt记录实现,无需指定网站目录及dns解析,支持dnspod和cloudxns两大服务商
弄完之后看这篇文章配apache
https://www.cloudxns.net/Support/detail/id/906.html
============ 我是分割线 =============
先弄个文件夹放东西
mkdir /usr/local/openssl
生成账户和网站的key
openssl genrsa 4096 > account.key
openssl genrsa 4096 > zhiyi.key
生成证书
openssl req -new -sha256 -key zhiyi.key -subj "/" -reqexts SAN -config <(cat /etc/pki/tls/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:snsproject.com,DNS:www.snsproject.com")) > zhiyi.csr
如果说找不到openssl.cnf,先全局搜下这个文件在哪里,如果搜不到就装一个openssl
下载一个python的小工具
wget https://raw.githubusercontent.com/diafygi/acme-tiny/master/acme_tiny.py
运行之,生成验证的签名crt文件
python ./acme_tiny.py --account-key ./account.key --csr ./zhiyi.csr --acme-dir ./www/acme-challenge/ > ./signed.crt
注意,它会生成一个文件,然后通过http://yoursite.com/.well-known/acme-challenge/+文件名获取这个文件进行验证,所以一定要确保这个文件通过刚才的url能访问到
6. 得到签名后,生成网站证书
wget -O - https://letsencrypt.org/certs/lets-encrypt-x1-cross-signed.pem > intermediate.pem
cat signed.crt intermediate.pem > chained.pem
7. 部署篇请见之前写的
8. 由于证书90天有效,需要自动刷新证书脚本
vi autorefresh.sh
#!/bin/bash
cd /usr/local/openssl/
python ./acme_tiny.py --account-key ./account.key --csr ./zhiyi.csr --acme-dir ./www/acme-challenge/ > ./signed.crt
wget -O - https://letsencrypt.org/certs/lets-encrypt-x1-cross-signed.pem > intermediate.pem
cat signed.crt intermediate.pem > chained.pem
service httpd restart
vi /etc/crontab
在最后加上一行
0 0 4 * * root /usr/local/openssl/autorefresh.sh >/dev/null 2>&1
9. 设置重定向https
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} !^/.well-known
RewriteRule (.*) https://%{SERVER_NAME}/$1 [L,R]
相关文章推荐
- 免费 Https 证书(Let's Encrypt)申请与配置
- 【教程】Let's Encrypt配置免费SSL证书建立HTTPS(Ubuntu+Apache)
- 教你如何在let's encrypt申请免费证书---开启网站的https之路
- IIS 使用Let's Encrypt并配置HTTP跳转HTTPS
- 在IIS上如何发布HTTPS网站,SSL安全服务配置
- 在IIS中使用SSL配置HTTPS网站
- 在IIS中使用SSL配置HTTPS网站(转)
- keytool+tomcat配置HTTPS双向证书认证(无openssl)
- 如何制作一个 https 网站?IIS配置HTTPS服务的方法
- Centos6.3下Apache配置基于加密的认证https加密证书访问
- linux系统下用单向认证方式将Tomcat配置成https方式访问
- Video : 将使用AD认证的SharePoint网站配置为表单方式登录
- keytool+tomcat配置HTTPS双向证书认证
- CAS 使用 HTTPS 单向认证方式 服务端和客户端配置
- keytool+tomcat配置HTTPS双向证书认证
- tomcat/weblogic/websphere中配置HTTPS双向认证
- 如何制作一个 https 网站?IIS配置HTTPS服务的方法
- Video : 将使用AD认证的SharePoint网站配置为表单方式登录
- tomcat6配置https (双向认证/单向认证)
- tomcat配置https单向认证