服务端开发实战

记录-阿里云centos配置https

2017-12-28  本文已影响93人  Captain_tu
  1. 生成个人免费证书,我在 数安时代申请的免费证书,见 粮叔叔
    【阿里云手册】 中推荐的证书生成站点:

    1. Let's Encrypt: 目前个人站点使用的非常普遍的证书.
      特点/限制:
      如果你在使用云服务提供商的CDN或者负载均衡服务(例如阿里云的CDN或者SLB), Let's
      Encrypt就不太适合了, 阿里云的CDN或者SLB要求在云平台上上传证书的公钥和私钥, 而Let's Encrypt强制90天过期, 虽然我们可以通过自动化的方式renew证书, 但我目前还没有找到比较好的解决方案.
      只支持单个域名.

    2. 阿里云Symantec免费DV证书:
      特点/限制:
      赛门铁克-顶级证书颁发机构.
      1年过期.
      只支持单个域名.

    3. 腾讯云GeoTrust免费DV证书:
      特点/限制:
      GeoTrust-顶级证书颁发机构.
      1年过期.
      只支持单个域名.

  2. 下载证书的公钥和密钥,上传到服务器nginx目录下

  3. 配置nginx

     server {
       listen        80;  #将http重定向至https
       server_name   www.yjshare.cn;
       return 301    https://$host$request_uri;
     }
     
     server
     {
         listen       443 ssl;    #监听443端口
         server_name www.yjshare.cn;
         root /home/nginx/project/lavue/public;
         index index.html index.htm index.php;
    
         ssl             on;
         ssl_certificate /usr/local/nginx/conf/www.yjshare.cn_bundle.crt;       #证书公钥
         ssl_certificate_key  /usr/local/nginx/conf/www.yjshare.cn.key;  #证书私钥
         ssl_session_cache    shared:SSL:1m;
         ssl_session_timeout  5m;
         ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
         ssl_ciphers ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!3DES:!aNULL:!eNULL;
         ssl_prefer_server_ciphers  on;
     }
    
  4. 重新加载nginx配置文件

     nginx -s reload
    

问题分析

  1. telnet 443端口不通,排查了阿里云放行了443端口,iptable也开放了443,后来发现是修改了nginx配置文件之后,重启不成功,没有加载,于是没有监听443端口

     netstat -anlp | grep 443  #查看是否有监听
    
  2. 启动,重启,停止nginx

     service nginx stop #不起作用
     nginx -s stop  #停止nginx
     ps -ef | grep nginx #kill -9 进程ID
    
     /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf  #检测配置文件,并启动nginx
    

欢迎访问"粮叔叔"

上一篇 下一篇

猜你喜欢

热点阅读