阿里云申请SSL证书,centos服务器上nginx应用配置支持https请求

1、登录阿里云,进入控制台,在上方的搜索框内输入ssl,选中SSL证书(应用安全)
在这里插入图片描述

2、点击购买证书
在这里插入图片描述

3、选择,单域名,DV SSL,免费版,然后购买下单就行了
在这里插入图片描述

4、购买完之后,点击证书申请
在这里插入图片描述

5、填写证书申请信息
在这里插入图片描述

6、提交成功之后会出现,下面这个界面
在这里插入图片描述

7、域名解析(我的域名是在阿里云买的),不同网站可能添加的方式略有不同 ,具体的话可以自行百度
在这里插入图片描述

在这里插入图片描述

8、下载证书
在这里插入图片描述
在这里插入图片描述

9、配置服务器nginx,(可以参考,上图中的帮助)
把下载的证书解压一下,把里面的两个文件放到服务器的nginx目录下的cert目录下(没有就创建,也可以是其他名字,只需要配置的时候把路径改一下就行)
在这里插入图片描述

10、nginx.conf文件中配置https端口443

user  root;
worker_processes  8;

error_log  logs/error.log;
events {
    worker_connections  102400;
}
http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  logs/access.log  main;
    sendfile        on;
    tcp_nopush     on;
	tcp_nodelay         on;
types_hash_max_size 2048;
    keepalive_timeout  65;  
    server {
	listen 443 ssl;   #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
	server_name localhost;  #将localhost修改为您证书绑定的域名,例如:www.example.com。
	ssl_certificate ../cert/domain name.pem;   #将domain name.pem替换成您证书的文件名。
	ssl_certificate_key ../cert/domain name.key;   #将domain name.key替换成您证书的密钥文件名。
	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 / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

11、nginx.conf配置可以参考,还是很详细的
在这里插入图片描述
12、配置完成,重启nginx可能会报错:

nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf

这是因为之前安装的nginx没有添加http_ssl_module模块,我自己的解决方法是:再安装一个新的nginx,执行命令:

./configure --prefix=/usr/local/nginx1 --with-http_stub_status_module --with-http_ssl_module

之后可能会报错,需要安装openssl,如果你已经安装了openssl执行命令

./configure --prefix=/usr/local/nginx1 --with-http_stub_status_module --with-http_ssl_module --with-openssl=/usr/local/openssl-1.0.1t

/usr/local/openssl-1.0.1t 这个是本地的openssl目录

如果没有安装openssl
执行命令:yum install openssl openssl-devel -y,再执行:./configure --prefix=/usr/local/nginx1 --with-http_stub_status_module --with-http_ssl_module,就可以了,之后执行命令: makemake install

安装完成之后,把新的nginx1中的conf和sbin文件夹,覆盖老的nginx中的conf和sbin文件夹(conf/nginx.conf文件不用覆盖,可以先copy一下),然后启动nginx,执行命令:./sbin/nginx (还是原来的nginx目录下的,只不过用重新安装的带有ssl模块的nginx覆盖了原来的),覆盖的时候注意nginx.conf文件,不能覆盖,不然还要重新配置。

完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值