centos7利用acme.sh获取Let's Encrypt的永久免费ssl证书并配置网站域名https访问

news/2024/5/11 1:43:18/文章来源:https://blog.csdn.net/weixin_30627341/article/details/101651297

acme.sh介绍:https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E

github:https://github.com/Neilpang/acme.sh

 1. 安装 acme.sh

安装非常简单,就一个命令,建议使用root账户进行安装,以下演示都是root账户。

curl  https://get.acme.sh | sh

安装所在的目录为 ~/.acme.sh/

创建一个别名方便使用

alias acme.sh=~/.acme.sh/acme.sh

安装时已经为系统创建crontab定时任务,续签证书的调度任务。可以通过 crontab -l 查看,如下

自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书。

安装过程中所有的修改都限制在安装目录~/.acme.sh/中,因此不用担心对已有的系统任何功能和文件污染。

2. 生成SSL证书

2.1

假设为 www.mydomain.com 这个域名配置证书。

在生成之前需要先安装 socat ,使用如下命令安装

mkdir ~/src
cd ~/src
wget http://www.dest-unreach.org/socat/download/socat-1.7.3.0.tar.gz
tar -xf socat-1.7.3.0.tar.gz 
cd socat-1.7.3.0
./configure --prefix=$HOME
make
make install

下面开始正式生成ssl证书,生成证书的方式有多种,可以参考:https://github.com/Neilpang/acme.sh/wiki/How-to-issue-a-cert

在此生成证书的方案选择standalone方式(需要80端口不被占用,acme.sh 自己作为一个web服务临时监听80端口完成证书验证),由于此时服务器(nginx)已经占用80端口

通过咨询acme.sh作者续签问题,注:由于使用nginx服务,后面会一直占用80端口,如下:

所以最终我们的生成证书命令为:

acme.sh --issue -d www.mydomain.com --standalone --pre-hook "/nginx/nginx/sbin/nginx -s stop" --post-hook "/nginx/nginx/sbin/nginx"

其中 /nginx/nginx/sbin/nginx 为自己服务器中nginx执行文件

成功之后,生成的证书目录在:/root/.acme.sh/www.mydomain.com

2.2 续签相关

2.1中也有提到生成签名需要80端口不被占用,那么问题来了,后面服务器要启动nginx,而且需要占用80端口,所以上面的续签定时是有问题的,所以crontab定时修改如下:

crontab -e

44 3 * * * source ~/.bash_profile && ~/.acme.sh/acme.sh --issue -d www.mydomain.com --standalone --pre-hook "/nginx/nginx/sbin/nginx -s stop" --post-hook "/nginx/nginx/sbin/nginx" > /dev/null

保存即可!注:crontab定时中需要绝对路径。

3. nginx配置SSL证书

    #ssl
    upstream mydomain7777 {server 127.0.0.1:7777  weight=1;}server {listen       443 ssl;server_name  www.mydomain.com;location / {proxy_pass http://mydomain7777;proxy_redirect default;client_max_body_size 10m; #表示最大上传10M,需要多大设置多大。#设置主机头和客户端真实地址,以便服务器获取客户端真实IPproxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Scheme $scheme;}ssl_certificate      /root/.acme.sh/www.mydomain.com/fullchain.cer;ssl_certificate_key  /root/.acme.sh/www.mydomain.com/www.mydomain.com.key;ssl_session_cache    shared:SSL:1m;ssl_session_timeout  5m;ssl_protocols  SSLv2 SSLv3 TLSv1;ssl_ciphers  HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers  on;}

还可以配置http强制转https(可选)

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

 

注:proxy_set_header X-Forwarded-Scheme $scheme; 配置是为了程序中获取到请求协议(http或者https),以java为例获取代码如下:

String scheme = request.getHeader("X-Forwarded-Scheme");
if (scheme == null) {scheme = request.getScheme();
}

 

参考博客:

1. https://my.oschina.net/u/3042999/blog/1858891

2. https://community.webfaction.com/questions/21246/trying-to-use-lets-encrypt-using-acmesh-need-socat-tools

 

另外有dns生成ssl证书的方式,请参考 https://www.cnblogs.com/007sx/p/11379966.html

 

转载于:https://www.cnblogs.com/007sx/p/11370713.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_777547.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何加速 Web 应用程序并提高网站性能

我们不需要提醒你快速网站加载的重要性。要么是 3 秒,要么是用户离开,因此你必须优化网站性能以符合用户的期望。 网站性能的优化是一件大事。它涉及多个方面需要照顾,其中许多取决于网站本身、其复杂性和元素。但是,还有一些适用…

为什么我们应该使用 HTML5 开发网站

HTML 5 是最新的超文本标记语言 (HTML),它是用于描述网页内容和外观的标准编程语言。如今,所有主要浏览器(Chrome、Safari、Opera 和 IE)都提供 HTML5 支持,这使其成为当今使用的最新 HTML 技术。 下面列出了 HTML5 的一些惊人优势&#xff1…

前 3 大网站性能问题以及如何解决它们

令人惊讶的是,即使现在,你也可以访问已建立组织的主页,但如果开发人员和设计人员知道将故障排除工作的重点放在哪里,则可以轻松解决这些严重的网站性能问题。 在大多数情况下,当今互联网上遇到的最大网站性能问题通常归…

快速网站的简单JavaScript性能优化技巧

JavaScript 可以提供高度交互的网站,以 HTML 单独无法做到的方式积极吸引用户。但是,增加的参与度会带来性能成本,如果允许失控,可能会对网站的可用性产生负面影响。 如果你的网站速度很慢,并且认为页面中嵌入的逻辑可…

Web前端:优化Angular应用程序以提高网站速度的技巧

跨企业领域的许多已知和产生流量的网站都使用网站优化方法进行 Angular Web 开发,Angular 作为前端框架因其功能丰富、健壮、高性能的特点而广受欢迎。 应用内显示的性能问题是直接影响应用对最终用户体验的巨大问题。网络流量下降、商业网站上没有流量或客户参与度…

网站安全之——重放攻击

转自:http://baike.baidu.com/view/1569933.htm 重放攻击(Replay Attacks)又称重播攻击、回放攻击或新鲜性攻击(Freshness Attacks),是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目…

Web前端:如何为网站选择最佳的JavaScript框架?

我们都知道JavaScript框架对于优化整个网站开发过程有多么重要,企业可以节省时间、精力和金钱。没有一个框架适合所有任务,每一个都有其优点和缺点,应该根据项目的需要进行选择。选择正确的框架需要检查它是否停滞,并定期检查和修…

网站安全之——session劫持

转自:http://www.cnblogs.com/shoru/archive/2010/02/19/1669395.html 引言 在web开发中,session是个非常重要的概念。在许多动态网站的开发者看来,session就是一个变量,而且其表现像个黑洞,他只需要将东西在合适的时机…

网站安全之——文件上传攻击漏洞

转自:http://www.h3c.com.cn/About_H3C/Company_Publication/IP_Lh/2014/05/Home/Catalog/201408/839582_30008_0.htm 不少系统管理员都有过系统被上传后门,木马或者是网页被人篡改的经历,这类攻击相当一部分是通过文件上传进行的。入侵者是如…

SEO 比比看: Che168.com VS pcauto.com.cn

SEO 比比看: Che168.com VS pcauto.com.cn做SEO工作,平常少不了多观察各种网站优化的案例。俗话说的好,懂行的看门道,不懂的看热闹。面对五花八门的网站,如何才能从专家的角度,以最快的速度来了解被观察网…

搜索引擎SEO外挂:一边搜索,一边看PageRank

搜索引擎SEO外挂:一边搜索,一边看PageRank下载地址:多么乐站长工具 我原来曾写过一篇统计分析搜索引擎排名和Page Rank 关联分析 的文章。很多人引用,回复和我讨论了我的结论。有赞成的,有反对的,有鼓励的&…

ModStartCMS模块化万能建站系统 v2.7.0 主题模板增强,模板市场上线

ModStartCMS是基于Laravel的全栈极速开发CMS框架,支持动态模型配置和多模板支持,轻松搭建CMS内容管理系统。 ModStartCMS发布v2.7.0版本,新功能和Bug修复累计11项,主题模板增强,模板市场上线。 2021年12月20日ModStar…

ModStartCMS模块化建站系统 v3.3.0 组件功能升级,事件触发增强

ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,基于 Apache 2.0 开源协议,免费且不限制商业使用。 ModStart 致力于服务开…

ModStartCMS 模块化建站系统 Laravel 9.0 版 v3.3.0

ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,基于 Apache 2.0 开源协议,免费且不限制商业使用。 ModStartCMS是基于Lara…

ModStartCMS模块化建站系统 v3.4.0 富文本粘贴上传,自定义分页

ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,基于 Apache 2.0 开源协议,免费且不限制商业使用。 ModStartCMS发布v3.4.0…

ModStartCMS模块化建站系统 v3.5.0 多图字段支持,系统优化升级

ModStartCMS是基于Laravel的全栈极速开发CMS框架,支持动态模型配置和多模板支持,轻松搭建CMS内容管理系统。 ModStartCMS发布v3.5.0版本,新功能和Bug修复累计11项,多图字段支持,系统优化升级。 2022年03月21日ModStar…

ModStartCMS模块化建站系统 v3.6.0 内容标签增强,电脑手机适配

ModStartCMS是基于Laravel的全栈极速开发CMS框架,支持动态模型配置和多模板支持,轻松搭建CMS内容管理系统。 ModStartCMS发布v3.6.0版本,新功能和Bug修复累计10项,内容标签增强,电脑手机适配。 2022年03月28日ModStar…

ModStartCMS Laravel9 模块化建站系统v3.6.0内容标签增强,电脑手机适配

ModStartCMS是基于Laravel的全栈极速开发CMS框架,支持动态模型配置和多模板支持,轻松搭建CMS内容管理系统。 ModStartCMS Laravel9发布v3.6.0版本,新功能和Bug修复累计17项,内容标签增强,电脑手机适配。 2022年04月05…

ModStartCMS模块化建站系统 v3.7.0 栏目导航开关,页面样式优化

ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,基于 Apache 2.0 开源协议,免费且不限制商业使用。 ModStartCMS发布v3.7.0…

ModStartCMS模块化建站系统V3.7.0 Laravel9版

系统介绍 ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,基于 Apache 2.0 开源协议,免费且不限制商业使用。 功能特性 丰…