(十三)nginx之配置HTTPS域名证书

1.准备工作

a.需要一个已经备案的域名

以腾讯云为例:

 

进入腾讯云的SSL证书界面,点击申请免费证书。

点击确定。

填写相关资料,点击下一步。

选择手动DNS验证,点击确认申请。

然后去腾讯云的域名管理界面。

点击添加记录,其值如下所示:

  • 主机记录:填写子域名。例如,添加 www.123.com 的 TXT 记录,您在 “主机记录” 处选择 “www” 即可。如果只是想添加 123.com 的 TXT 记录,您在 “主机记录” 处选择 “@” 即可。
  • 记录类型:选择 “TXT”。
  • 线路类型:选择 “默认” 类型,否则会导致部分用户无法解析。
  • 记录值:没有固定的格式。大部分时间,TXT 记录是用来做 SPF 反垃圾邮件的。最典型的 SPF 格式的 TXT 记录例子为 “v=spf1 a mx ~all”,表示只有这个域名的 A 记录和 MX 记录中的 IP 地址有权限使用这个域名发送邮件。
  • MX 优先级: 不需要填写。
  • TTL:为缓存时间,数值越小,修改记录各地生效时间越快,默认为600秒。

等待审核通过之后,来到SSL证书界面,点击下载。

 

将下载的文件夹解压,进入到nginx目录。

你会看到两个文件,一个是.crt后缀,一个是.key后缀,将两个文件上传到nginx服务器的nginx目录下的conf目录。


2.安装 SSL模块

要在nginx中配置https,就必须安装ssl模块,也就是: http_ssl_module

  • 进入到nginx的解压目录: /home/software/nginx-1.16.1(这块的目录是你以前安装nginx的解压目录)

  • 新增ssl模块(原来的那些模块需要保留)

新增 --with-http_ssl_module配置

./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi  \
--with-http_ssl_module
  • 编译和安装

    make
    
    make install

3.配置nginx.conf文件

 nginx 1.15版本以前,不包括nginx1.15

server {
        listen       443;
        server_name  localhost;

        # 开启ssl
        ssl     on;
        #listen 443 ssl;
        # 配置ssl证书,后缀名为.crt的文件,且文件在nginx.conf的同级目录下
        ssl_certificate      1_www.aaa.com_bundle.crt;
        # 配置证书秘钥,后缀名为.key的文件,且文件在nginx.conf的同级目录下
        ssl_certificate_key  2_www.aaa.com.key;

        # ssl会话cache
        ssl_session_cache    shared:SSL:1m;
        # ssl会话超时时间
        ssl_session_timeout  5m;

        # 配置加密套件,写法遵循 openssl 标准
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        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;
        }
}

nginx1.15及以后版本

server {
        listen       443 ssl;
        server_name  localhost;

        #listen 443 ssl;
        # 配置ssl证书,后缀名为.crt的文件,且文件在nginx.conf的同级目录下
        ssl_certificate      1_www.aaa.com_bundle.crt;
        # 配置证书秘钥,后缀名为.key的文件,且文件在nginx.conf的同级目录下
        ssl_certificate_key  2_www.aaa.com.key;

        # ssl会话cache
        ssl_session_cache    shared:SSL:1m;
        # ssl会话超时时间
        ssl_session_timeout  5m;

        # 配置加密套件,写法遵循 openssl 标准
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        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;
        }
    }

3.测试

访问https://域名,出现如下界面则表示配置成功。

且地址栏如下所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值