生成免费的证书.acme 基于nginx
https://github.com/acmesh-official/acme.sh 官方文档设计 多种
一、安装acme,可能一次安装不成功,要多安装几次
1、curl https://get.acme.sh | sh -s email=my@example.com
二、生成证书 用于nginx
你用的 nginx服务器, 或者反代, acme.sh 还可以智能的从 nginx的配置中自动完成验证
acme.sh --issue -d mydomain.com --nginx #-d 后面的域名写自己nginx配置域名
注意, 无论是 apache 还是 nginx 模式, acme.sh在完成验证之后, 会恢复到之前的状态, 都不会私自更改你本身的配置. 好处是你不用担心配置被搞坏, 也有一个缺点, 你需要自己配置 ssl 的配置, 否则只能成功生成证书, 你的网站还是无法访问https. 但是为了安全, 你还是自己手动改配置吧
可以看见秘钥文件已经生成
三、copy/安装 证书
前面证书生成以后, 接下来需要把证书 copy 到真正需要用它的地方.
注意, 默认生成的证书都放在安装目录下: ~/.acme.sh/
, 请不要直接使用此目录下的文件, 例如: 不要直接让 nginx/apache 的配置文件使用这下面的文件. 这里面的文件都是内部使用, 而且目录结构可能会变化.
正确的使用方法是使用 --install-cert
命令,并指定目标位置, 然后证书文件会被copy到相应的位置, 例如 以下 域名写自己的,文件路径自定义
acme.sh --install-cert -d example.com \
--key-file /path/to/keyfile/in/nginx/key.pem \
--fullchain-file /path/to/fullchain/nginx/cert.pem \
--reloadcmd "service nginx force-reload"
四、修改nginx配置
nginx添加ssl配置后,刷新nginx -s reload
server{listen 443 ssl;server_name ; #用户服务器的域名ssl_certificate /path/to/fullchain/nginx/cert.pem;ssl_certificate_key /path/to/keyfile/in/nginx/key.pem;ssl_session_timeout 5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;ssl_prefer_server_ciphers on;
}
五、更新 acme.sh
目前由于 acme 协议和 letsencrypt CA 都在频繁的更新, 因此 acme.sh 也经常更新以保持同步
升级 acme.sh 到最新版 :
acme.sh --upgrade
如果你不想手动升级, 可以开启自动升级:
acme.sh --upgrade --auto-upgrade
之后, acme.sh 就会自动保持更新了.
你也可以随时关闭自动更新:
acme.sh --upgrade --auto-upgrade 0
六、如果出错了
如果出错, 请添加 debug log:
acme.sh --issue ..... --debug
或者:
acme.sh --issue ..... --debug 2
nginx 启动
#!/bin/sh
# nginx - this script starts and stops the nginx daemin
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /usr/local/nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/logs/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/data/nginx/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/data/nginx/conf/nginx.conf"
lockfile=/var/lock/subsys/nginx
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
start
}
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac
生成免费的证书.acme 基于nginx相关推荐
- 七步生成免费HTTPS证书
使用Let's Encrypt + Nginx生成免费HTTPS证书 Let's Encrypt简介 官网:https://letsencrypt.org/ Let's Encrypt作为一个公共且免 ...
- 阿里云添加二级域名及生成免费ssl证书
阿里云添加二级域名及生成免费ssl证书 一.问题背景 app上架需要绑定域名进行解析,需要提供域名及对应的ssl证书 二.解决方案 1.公司已有域名,生成二级域名和免费ssl证书提供 三.具体操作 1 ...
- linux系统自签发免费ssl证书,为nginx生成自签名ssl证书
安装nginx可参考: nginx重新编译支持ssl可参考: 接下来手动配置ssl证书: 自己手动颁发证书的话,那么https是不被浏览器认可的,就是https上面会有一个大红叉 下面是手动颁发证书的 ...
- ubuntu生成密钥和证书_基于浏览器的密钥生成以及与浏览器的密钥/证书存储的交互...
ubuntu生成密钥和证书 想象以下情况: 您需要从访问您的网站的用户那里获取一个密钥(在非对称情况下为用户的公共密钥 ),并希望浏览器记住私有部分,而不会因冗长的导入过程而困扰用户. 老实说,实际上 ...
- 自己制作ssl证书:自己签发免费ssl证书,为nginx生成自签名ssl证书
Nginx支持多域名ssl证书 导读: 昨天凌晨将公司旗下的另外一个域名也升级成通过ssl证书登录的形式,那里料到过程竟然非常曲折,原因是nginx如果编译的时候使用openssl如果没有添加enab ...
- 安装acme.sh生成免费https证书
1. 安装 curl https://get.acme.sh | sh 如果出现Failed to connect to raw.githubusercontent.com port 443错误,解决 ...
- 免费ssl证书申请以及nginx配置https访问攻略
攻略背景 最近需要为我哥的协会申请ssl证书,因为小程序接口需要https.于是开启了这一番折腾,最后简化为一篇攻略. 第一步,申请SSL证书 这个网站最好,可以申请到1年的,其他都是三个月.1年后再 ...
- 阿里云申请免费ssl证书并配置nginx
网站https设置 sll申请与nginx跳转配置 这里选择1年 点击证书申请 这里注意要写文件验证 文件验证 上传文件到服务器指定目录,DNS解析到后访问该文件完成验证 手工DNS验证 改域名的DN ...
- windows 生成免费ssl证书 配置 https
window10 + phpstudy 配置 https 首先简单的理解下https与http 1.从URL HTTP 是 HTTP:// 开头,而 HTTPS 是 HTTPs:// 开头: 2.HT ...
最新文章
- 零基础自学python的建议-python回顾——对零基础学者的建议(一)
- TCP/IP 笔记 - TCP连接管理
- jQuery常用的选择器
- Android动画模式
- Android通过WebView在线打开PDF文件(文中提供源码下载)
- .NET Core 3.0 即将结束生命周期,建议迁移 3.1
- 浅析 .Net Core中Json配置的自动更新
- 归并排序--Java
- python标准库之socket
- code的bootstrap如何有提示 vs_如何用DataFocus对Excel表中数据进行分析?
- GB28181国标视频平台录像存储录像回放解决方案
- 边沿触发是什么意思_边沿触发器的动作特点及主要特点
- 流媒体后视镜方案关键技术--调节后视图像显示范围
- 柑曼怡推出非凡特酿系列;舒肤佳健康传中国“手护”新年期待助力2022年冬奥会 | 知消...
- 大哥都是从小弟做起的
- RNN(pytorch)的维度问题——用GRU实现文本分类(参考刘二大人)
- 5-(4-硝基苯基)-10,15,20-三苯基卟啉NTPPH2/NTPPZn/NTPPMn/NTPPFe/NTPPNi/NTPPCu/NTPPCd/NTPPCo等金属配合物
- vue 嵌套表格组件_vue+element-ui实现嵌套表格导出
- rdp远程Windows10连接不上的解决方案
- av发行商_如何向发行商推销游戏
热门文章
- /usr/bin/python: No module named pip
- 英国最厉害的黑客组织,创始人竟然是中英混血儿
- 概率密度变换公式 雅可比矩阵_的联合概率密度函数f(x,y).ppt
- 基于quartz的定时任务动态启停实现分析(人人平台为例)
- Game - datastructure
- 用户变量tmp修改了怎么恢复_恢复ext4文件系统被误删的文件
- Vue Router 参数接收
- Materials studio替换原子
- Dynamo_修复导出EXCEL时出现的组件丢失问题
- 阿里用什么替代了dubbo_跨境电商一般使用什么支付方式,阿里巴巴跨境电商证有什么用...