2021-03-30

记录一次阿里云ssl证书配置,并且重新搭了nginx。

域名和服务器早已经买好了,只是用的http。

1. 访问SSL控制台

立即购买,右面会跳购买页面,我用的单域名免费的,需要对每个子域名签发。
在这里插入图片描述
然后
证书总数20,待申请20,已签发0
点击待申请,填子域名信息确认,然后等一分钟就会自动审核通过。
我这里签了两个子域名。
在这里插入图片描述
在这里插入图片描述

2. 下载对应环境的证书

点列表里下载按钮
我这里用独立的nginx,压缩包里是.key和.pem
我放到了nginx的根目录里,新建了ssl目录

3. 配置nginx

v1.8.0

这个不详细写了,新安装去看详细nginx教程,只说几个问题

首先我是替换,新装的就不用看这个问题了,保证configer里有–with-http_ssl_module就可以了。
启动报:

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

没有ngx_http_ssl_module模块,这是在nginx编译时就要配置的,只能重新下个源码包。
去源码包下,先查一下已经安装的nginx的配置:

/usr/local/nginx/sbin/nginx -V

输出

–prefix=/usr/local/nginx --with-http_stub_status_module

重新编译把这些加上,再加–with-http_ssl_module

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make

然后把生成的可执行文件替换到原来的目录里

cp ./objs/nginx /usr/local/nginx/sbin/

其中又遇到没有openssl,装一下

yum -y install openssl openssl-devel
4.关于SSL的ng配置

阿里文档:

#以下属性中,以ssl开头的属性表示与证书配置有关。
server {
    listen 443 ssl;
    #配置HTTPS的默认访问端口为443。
    #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
    #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
    server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。
    root html;
    index index.html index.htm;
    ssl_certificate cert/cert-file-name.pem;  #需要将cert-file-name.pem替换成已上传的证书文件的名称。
    ssl_certificate_key cert/cert-file-name.key; #需要将cert-file-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; #表示使用的TLS协议的类型。
    ssl_prefer_server_ciphers on;
    location / {
        root html;  #站点目录。
        index index.html index.htm;
    }
}

我这里是配了两个域名,www是前端文件(根目录),api是后端接口(反向代理),所以配了两个server

	server {
        listen 443 ssl;
        server_name api.aaa;

        ssl_certificate ../ssl/api.aaa.pem;
        ssl_certificate_key ../ssl/api.aaa.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 / {
            proxy_pass http://127.0.0.1:1234/;
        }
    }
server {
        listen 443 ssl;
        server_name www.aaa;

        ssl_certificate ../ssl/www.aaa.pem;
        ssl_certificate_key ../ssl/www.aaa.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 /data/www;
        }
   }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值