nginx 配置https, 服务器是阿里云的ECS(亲测)

准备材料:1 已经备案的域名   ,  2, 有ecs服务器

开始:

  进入阿里云搜索ssl.。 选择购买证书。

 

 证书下载成功后上传服务器,

  mkdir  /usr/local/nginx/ssl  ,把下载的证书解压放进去。

然后就是配置,我用的是nginx  ,配置方法如下:

 1     server {
 2         listen       443;
 3         ssl              on;
 4         server_name  你的域名;
 5         ssl_certificate                          /usr/local/nginx/ssl/3337959_hunlihongbao.top.pem;
 6         ssl_certificate_key                        /usr/local/nginx/ssl/3337959_hunlihongbao.top.key;
 7         ssl_session_timeout 5m;
 8         ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
 9         ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
10         ssl_prefer_server_ciphers on;
11 
12     
13         location / {
14             root   /wanfu/dist/;
15             index  index.html;
16               try_files $uri $uri/ /index.html;        
17         }
18         
19         location  ^~/api/ {
20             proxy_pass http://127.0.0.1:18080/;
21             
22             proxy_set_header  X-Real-IP  $remote_addr;
23             proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
24             proxy_set_header  Host $http_host;
25             proxy_redirect    off;
26             proxy_ssl_session_reuse off;
27         }
28         
29         location ~ .*.(gif|jpg|jpeg|png)$ {  
30             expires 24h;  
31             root /wanfu/; #指定图片存放路径 
32         }
33         
34         error_page   500 502 503 504  /50x.html;
35         location = /50x.html {
36             root   html;
37         } 
38     }
39     
40     server{
41         listen       80;
42         server_name  你的域名;
43         return 301 https://$server_name$request_uri;
44     }

检测 nginx :    ./usr/loca/nginx/sbin/nginx -t

检查配置如果发现了报错,说明你没有安装ssl的nginx扩展

  nginx: [emerg] unknown directive "ssl"

接下来 叫大家 安装 插件包:

  先进入你的nginx  源码包路径 , 就是你当初下载 nginx.tar 解压下来的那个文件夹 。 我的是这里:

  cd nginx-1.14.0

./configure --prefix=/usr/local/nginx --with-http_ssl_module // 加上http的ssl支持模块
make //注意 这里千万补要install 不然会覆盖已有 的nginx 配置 , 我们只需要编译一下。
cp /objs/nginx   /usr/local/nginx/sbin/nginx //然后把薪的nginx , 替换原来的
/usr/local/nginx/sbin/nginx  -V

  至此已经按照 ssl 模块 , 然后就重启 nginx  ./usr/localnginx/sbin/nginx -s reload

最后 阿里云ecs 那里 设置 443 端口开放

原文地址:https://www.cnblogs.com/smallFishs/p/12154774.html