Linux 服务器系列(二)Lets Encrypt SSL 证书配置

原文地址 https://www.heayan.com/articles/2018/01/19/1516341939836.html

前言

长期以来,使用 Google 浏览器时,总会被 Google 劫持加入广告,非常让人反感,相信大家对此也备受煎熬。由于大多数网站还是通过 http 方式来进行网络访问,这种协议下很容易受到黑客攻击,造成敏感信息泄露。https 可以很好的解决这些问题,但是 https 的普及还有很长一段路要走,网络访问安全并没有得到大家的应有的重视。

环境准备

    JDK8
    Nginx 1.12
    Tomcat8.5

安装 Nginx+Tomcat

    请参考 Linux 服务器系列(一)简单服务器配置。

安装 SSL 证书

  1. 安装 EPEL 源
    [root@heayan conf]# cd /usr/local
    [root@heayan conf]# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    [root@heayan conf]# rpm -Uvh epel-release-latest-7.noarch.rpm
    查看所有源
    [root@heayan conf]# yum repolist
  2. 安装 certbot-nginx
    [root@heayan conf]# sudo yum install certbot-nginx
  3. 生成证书(需要项目成功部署,且可以访问)
    第一种方式,更新证书需要重启
    [root@heayan conf]# certbot certonly --standalone -d www.heayan.com -m heayan@aliyun.com --agree-tos
    第二种方式,更新证书不需重启
    [root@heayan conf]# certbot certonly --webroot -w /opt/www/www.heayan.com -d www.heayan.com -m heayan@aliyun.com --agree-tos
  4. 查看证书
    证书生成在 /etc/letsencrypt/live 目录下
    [root@heayan conf]# ls /etc/letsencrypt/live/www.heayan.com

Nginx 配置证书

  • 配置 nginx.conf
    [root@heayan conf]# vi /usr/local/nginx1.12/conf/nginx.conf
    server {
      listen 443 ssl;# 监听端口
      server_name www.heayan.com;# 访问域名
      ssl_certificate /etc/letsencrypt/live/www.heayan.com/fullchain.pem;# 证书地址
      ssl_certificate_key /etc/letsencrypt/live/www.heayan.com/privkey.pem;# 证书密码
      ssl_session_cache shared:SSL:1m;
      ssl_session_timeout 5m;# 超时时间
      ssl_ciphers HIGH:!aNULL:!MD5;# 加密方式
      ssl_prefer_server_ciphers on;
      location / {
       proxy_pass http://heayan;# 请求转发(注意:并非 https 而是 http)
      }
    }
  • 配置完成,重新加载 nginx 即可
    [root@heayan conf]#/usr/local/nginx1.12/sbin/nginx -s reload

特别说明

  • 正常情况下,Https 访问过程中不允许存在 http 链接的。如果存在,浏览器将视其为不安全内容。
  • 保证 Nginx 安装时启用 --with-http_ssl_module 模块。
  • 生成证书命令中出现多个 -d 可能导致失败。

版权声明:版权所有,转载请注明原文地址。