美文网首页
Linux配置nginx阿里云https证书

Linux配置nginx阿里云https证书

作者: 不是王大锤 | 来源:发表于2019-10-30 17:44 被阅读0次

一、申请阿里云https证书

1、进入阿里云SSL证书控制管理页面,购买证书
2、选择免费型DV SSL,购买完成后根据提示输入申请信息后提交等待审核(审核15分钟左右)
3、在已签发的列表中选择刚审核通过的证书,下载Nginx对应的压缩包
4、下载的证书文件共有下面两个文件.key 和.pem
5、进入Nginx安装目录的conf目录下创建文件夹cert

二、部署证书

1、检查Nginx是否开启ssl服务
[root@A ~]# /home/webuser/nginx/sbin/nginx -V  //Nginx安装目录
  --with-http_ssl_module  //如果查看到该语句代表已开启成功,否则需要重新编译开启ssl
2、开启ssl服务

进入源Nginx文件夹,未编译之前的,不是安装的目录。增加SSL服务的http_ssl_module模块。

[root@A nginx]# ./configure --prefix=/home/webuser/nginx --with-http_stub_status_module --with-http_ssl_module

添加之后使用make命令编译,不能使用make install

 [root@A nginx]#make

暂停Nginx服务

[root@A nginx]#ps -ef|grep nginx   //查看Nginx进程号
[root@A nginx]#kill   xxx    //杀死Nginx进程

覆盖安装目录里的Nginx文件

 [root@A nginx]#cp ./objs/nginx /usr/local/nginx/sbin/    //注意路径

检查是否开启ssl成功

  [root@A ~]# /home/webuser/nginx/sbin/nginx -V  //Nginx安装目录
  --with-http_ssl_module  //如果查看到该语句代表已开启成功
3、配置nginx.conf文件(http强制跳转到https)
server {
listen 443 ssl;
server_name 证书域名; 
root /home/webuser/www/;      #静态资源路径
index index.html index.htm;
ssl_certificate  cert/3005995_.com.pem;     //上传到cert文件夹的证书文件名称
ssl_certificate_key cert/3005995_.com.key;     //上传到cert文件夹的证书文件名称
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;

location ~/项目名 {    //Nginx反向代理项目包
       proxy_set_header Host $host;
      proxy_pass_header User-Agent;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Real-Port $remote_port;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_pass http://127.0.0.1:8080;
      proxy_request_buffering off ;
  }

location / {
    index index.html index.htm;
      }
}

#设置http强制跳转到https
server {
    listen       80;
    server_name  证书域名;
    rewrite ^(.*)$ https://$server_name$1 permanent;  //强制跳转
    
            location / {
        root html;
        index  index.html index.htm;
    }

}
4、进入sbin下刷新重启Nginx
[root@A sbin]# ./nginx -s reload

若报错:

 nginx: [error] open() "/usr/local/nginx//logs/nginx.pid" failed (2: No such file or directory)

解决:

[root@A sbin]# /home/webuser/nginx/sbin/nginx -c /home/webuser/nginx/conf/nginx.conf
           进入sbin刷新即可

三、检查是否成功

访问https://IP 检查是否成功访问Nginx欢迎页面

注意:防火墙和端口限制问题

相关文章

网友评论

      本文标题:Linux配置nginx阿里云https证书

      本文链接:https://www.haomeiwen.com/subject/pbfavctx.html