Nginx 配置 SSL

环境

  • 阿里云服务器 ECS
  • CentOS 7.4

步骤

安装 Nginx

申请 CA 证书

  • 阿里云管理控制台——产品与服务——安全(云盾)——购买证书——选择购买免费证书。
    • 在这里插入图片描述
    • 在这里插入图片描述
  • 点击“申请”,绑定域名。
    • 在这里插入图片描述
    • 在这里插入图片描述

下载证书

  • 等待几分钟,证书状态变成“已签发”之后,点击下载证书:
    • 在这里插入图片描述
  • 证书类型选择 Nginx
    • 在这里插入图片描述
  • 下载的压缩文件为:1673999_www.xxx.tech_nginx.zip(www.xxx.tech是博主的域名),包含两个文件:
    • 1673999_www.xxx.tech.key
    • 1673999_www.xxx.tech.pem

给 Nginx 配置 SSL

  • 重命名两个证书文件,并上传到服务器
    • /root/ca/www.xxx.tech.pem
    • /root/ca/www.xxx.tech.key
  • 配置 Nginx:
    server {
         listen       80;
         server_name  www.wecherish.tech;
     	rewrite ^(.*)$ https://$host$1 permanent;
    
         
     }
    
     server {
         listen       443 ssl;
         server_name  www.wecherish.tech;
    
         ssl_certificate      /root/ca/www.xxx.tech.pem;
         ssl_certificate_key  /root/ca/www.xxx.tech.key;
    
         ssl_session_cache    shared:SSL:1m;
         ssl_session_timeout  5m;
    
         ssl_ciphers  HIGH:!aNULL:!MD5;
         ssl_prefer_server_ciphers  on;
    
         
     	
     	#charset koi8-r;
    
         #access_log  logs/host.access.log  main;
    
         location / {
             root /home/www; 
             index index.html index.htm;
         }
     }
    
  • 如果启动之后报错:nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module
    • 切换回 nginx 源码包,重新配置:
      • ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
        
    • 重新 make
      • make
        
    • 关闭 nginx;备份原来安装的 nginx
      • /usr/local/nginx/sbin/nginx -s stop
        cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
        
    • 使用上面编译的新的 nginx 代替原来的 nginx
      • cp ./objs/nginx /usr/local/nginx/sbin/
        
    • 再次启动 nginx
      • /usr/local/nginx/sbin/nginx
        
    • 在这里插入图片描述
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页