查看自己的服务器配置:CentOS release 6.5 (Final)
命令: cat /etc/issue 或cat /etc/redhat-release
查看系统多少位:getconf LONG_BIT

一、配置Nginx
首先安装系统缺少的包:

yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel

安装稳定版的Nginx:
wget http://nginx.org/download/nginx-1.10.2.tar.gz
下载到/usr/local目录下

tar –zxvf Nginx-1.10.2.tar.gz

进入Nginx 文件夹目录输入以下命令:

./configure --prefix=/usr/local/Nginx1.10 --with-http_stub_status_module --with-http_ssl_module

(后面两项是Nginx缺少http_ssl_module模块,配置ssl后Nginx启动失败,提示一下错误:Nginx: [emerg] the “ssl” parameter requires ngx_http_ssl_module in /usr/local/Nginx/conf/Nginx.conf)
–prefix=PATH : 指定Nginx的安装目录。默认 /usr/local/Nginx
–with-http_ssl_module : 使用https协议模块。默认情况下,该模块没有被构建。前提是openssl与openssl-devel已安装
–with-http_stub_status_module : 用来监控 Nginx 的当前状态
配置后输入以下命令:

make && make install

安装后启动项目:进入sbin目录
启动:./Nginx
关闭:./Nginx –s stop
考虑到安装let’s Encrypt需要占用80端口,可以先关闭Nginx
二、 如果已经安装过Nginx,但是未配置ngx_http_ssl_module模块
需要重新配置:

./configure --prefix=/usr/local/Nginx1.10 --with-http_stub_status_module --with-http_ssl_module

配置完成后,需要安装make,不用运行make install(会被覆盖安装)
将之前安装的Nginx备份
cp Nginx Nginx.bak
停止Nginx
将重新编译完成的Nginx覆盖原有的Nginx

cp ./objs/Nginx /usr/local/Nginx1.10/sbin/

然后启动重新查看是否添加成功

/usr/local/Nginx1.10/sbin/Nginx -V

三、 配置Let‘s Encrypt
系统要求:官方文档上已经写出支持python2.6或2.7的操作系统上,python3.x有望在未来支持;需要使用Root账户安装,有写入文件/etc/letsencrypt,/var/log/letsencrypt,/var/lib/letsencrypt的权限,安装时需要使用80和443端口
首先安装git 和bc,并从github上将代码克隆到本地

sudo yum –y git bc
sudo git clone https://github.com/certbot/certbot /opt/certbot-master

安装所有依赖:

sudo /opt/certbot-master/letsencrypt-auto --help

(安装过程请耐心等待)
绑定域名使用 standalone 的方式来获取证书。这种方式需要把 Nginx 服务停掉,让 standalone 服务器直接占用 80 端口来等待 Let’s Encrypt 服务端的验证。

sudo /opt/certbot-master/letsencrypt-auto --help –standalone –email 邮箱地址(邮箱地址是用来接收紧急通知和找回密钥的) –d 域名

中间会出现界面验证你的邮箱地址是否有效
命令完成后,最新版本的证书位置:/etc/letsencrypt/live/域名/
每个域名一个目录,有以下文件:

cert.pem 申请的服务器证书文件
privkey.pem 服务器证书对应的私钥
chain.pem 除服务器证书外,浏览器解析所需的其他全部证书,比如根证书和中间证书
fullchain.pem 包含服务器证书的全部证书链文件

配置Nginx,需要生成dhparam.pem文件

sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

修改Nginx.conf文件

  1. 修改80端口的监听
server
    {
        listen 80;
        return 301 https://域名$request_uri;
        server_name 域名 域名;
    }
  1. 增加以下代码
server {
        listen 443 ssl;
        server_name 域名;
        ssl_certificate /etc/letsencrypt/live/域名/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/域名/privkey.pem;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        ssl_dhparam /etc/ssl/certs/dhparam.pem;
        ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
        ssl_session_timeout 1d;
        ssl_session_cache shared:SSL:50m;
        ssl_stapling on;
        ssl_stapling_verify on;
        add_header Strict-Transport-Security max-age=15768000;
        # The rest of your server block
        root /path/to/root;
        index index.html index.htm;
        location / {
                try_files $uri $uri/ =404;
        }
}

配置完成后重启Nginx
在谷歌浏览器中输入域名,谷歌浏览器查看详情

或者通过此网址查询:https://www.ssllabs.com/ssltest/analyze.html?d=域名

自动续期问题:(注意关闭Nginx)输入
./letsencrypt-auto renew 手动续期会发现提示还未到期,无法续期
可以使用

./letsencrypt-auto renew --force-renewal

强制更新续期
这样的话就显示续期成功 可以写一个脚本,创建个定时任务,定期自动续期。

在Centos和Nginx中配置部署Let's Encrypt的更多相关文章

  1. ios – 应该加密APNS令牌吗?

    所以,我想知道,因为用户将APNS令牌发送给APNS提供商以便接收推送通知,是否应该加密令牌?另外,我认为根据APNS令牌识别设备是不可能的?因此,我想确保,如果有人从我的一个客户端嗅探推送通知注册...>他仍然必须获得我的推送证书才能以任何方式打扰我的客户>他知道有人对这些信息感兴趣,但无法确定我的客户是谁我可以放心吗?

  2. iOS Enterprise Deployement:单击itms-services链接会导致“无法连接到[域]”错误

    解决方法我有这个问题,这里没有任何记录的解决方案,或者在其他答案中,没有为我工作.使用正确的SSL证书,可以在目标设备上的safari中加载plist,没有任何问题.但是,尝试使用“itms-services://…”链接进行安装将始终失败,并显示“无法连接到[域]”错误.问题是Web服务器上未配置中间SSL证书.Web浏览器没有问题,SSL有效,但将设备连接到Mac,并通过XCode中的设备面板查看日志显示以下错误:在Apache上安装中间SSL证书解决了这个问题.

  3. ios – 我可以使用自签名SSL证书服务器在空中部署企业应用吗?

    iOS7.1之后,如果我们要通过空中部署我们的Enterprise应用程序,则manifest.plist文件的URL必须是HTTPS.例如:在我的服务器中,我使用自签名SSL证书.当我点击iPhone上的URL时,它表示无法连接到并记录典型的所以,我想知道我是否可以使用自签名SSL证书?如果可以,我如何解决我遇到的问题的问题?

  4. ios – 为什么一些iphone应用程序不会完成与Charles Proxy的ssl握手?

    我正在使用CharlesProxy查看从我的iPhone出来的所有流量.我的iPhone上安装了ssl证书/配置文件,我可以看到很多ssl加密的流量.然而,一些应用程序似乎没有完成ssl握手.错误是:“SSLHandshake:远程主机在握手期间关闭连接”,然后CharlesProxy建议将应用程序配置为信任查尔斯根证书.我以为当我将配置文件安装到我的iphone上时呢?

  5. ios – 获取SSL证书详细信息

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  6. ios – 如何让Charles在SSL连接上使用Xcode 7?

    我遇到了新安装的Xcode7的问题,即使在通过Charles在iOS模拟器上安装SSL证书(帮助>SSL代理>在iOS模拟器中安装CharlesRoot证书),并明确允许服务器的域我在查尔斯查询,任何试图收听SSL流量的尝试都会导致连接失败.Charles报告以下错误:SSLHandshake:RemotehostclosedconnectionduringhandshakeYoumayneedt

  7. 从iOS7迁移后,为什么iOS8 SSL请求会间歇性地失败?

    我的下一步是什么,找出这些请求失败的原因?

  8. iOS 10.3:模拟器HTTPS localhost:SSL错误

    这适用于iOS10.2及更低版本,但升级到10.3后,当模拟器尝试通过HTTPS连接到运行在localhost上的开发服务器时,Xcode控制台会输出以下错误:打印出URLSessionDataTask返回的错误显示:参考:Apple:Developer:GuidesandSampleCode:TechnicalNoteTN2232:HTTPSServerTrustEvaluation要创建自签名

  9. 我这个站长是怎么炼成的

    但我却厌倦了,这并不是我所想要的人生。但是当我真正身处其中时,这样的生活、这样的工作显得是那么的廉价,让我没有一丝珍惜的意愿。最后我注册了www.iswifting.com很快网站就被搭建起来了,这算是我踏入站长行列的第一步。前段时间,我再次启用了这个域名www.iswifting.com,做一个swift开发,以后还会在这里分享一些关于swift的优秀文章。他有一个个人博客网站做的不错,唐巧的技术博客,里面都是他自己写的iOS开发技术文章和一些琐事。

  10. android – 为什么Volley会回归到SSLV3?

    id=78187那么我的选择是什么?>我的假设是否正确,Volley会回归到SSLV3?换句话说,导致回退的原始失败是什么以及如何解决?>我最近下载了Volley,但我不确定它是最新的.我如何找到我的版本?

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部