• Nginx配置SSL证书


    目录

    获得证书

    步骤一:购买证书

     步骤二:申请证书

    ​编辑

     下载证书及证书转换:​编辑

    配置SSL证书

    在Nginx目录下新建certificate目录,并将下载好的证书/私钥等文件上传至该目录(与配置文件同级目录)。

     最后修改一下nginx.conf文件即可,如下:

     修改完成后保存配置文件,验证配置是否正确。

     重启nginx


    获得证书

    步骤一:购买证书

    1、登录管理控制台

    2、单击页面左上方的,选择“安全与合规 > 云证书管理服务”,进入云证书管理界面。

    3、在左侧导航栏选择“SSL证书管理”,进入SSL证书管理页面。

    4、在界面右上角,单击“购买证书”,进入购买证书页面。

    5、在购买证书页面,配置购买参数。

    1)“证书类型”:选择“DV(Basic)”。

    2)“证书品牌”:选择“DigiCert”。

    3)“证书类型”和“证书品牌”选择后,“域名类型”、“域名数量”、“有效期”、“购买量”将自动生成,无需配置。

    6、确认参数配置无误后,在页面右下角,单击“立即购买”。

    7、确认订单无误后,阅读并勾选“我已阅读并同意《SSL证书管理(SCM)免责声明》”,单击“去支付”。

    8、在购买页面,请选择付款方式进行付款。成功付款后,在SSL证书管理界面,可以查看证书列表中购买的证书。

     步骤二:申请证书

    成功购买证书后,您需要为证书绑定域名、填写证书申请人的详细信息并提交审核。

    1、登录管理控制台。

    2、单击页面左上方的,选择“安全与合规 > 云证书管理服务”,进入云证书管理界面。

    3、在左侧导航栏选择“SSL证书管理”,进入SSL证书管理页面。

    4、在证书列表中已购的免费证书所在行的“操作”列,单击“申请证书”。

    5、在“申请证书”页面,填写域名信息和联系人信息。

    1)填写域名信息,参数配置如表所示。

     需要验证:

     下载证书及证书转换:

    1. 补全信息时,“证书请求文件”选择的“粘贴已有CSR”请参考以下步骤进行配置。

    a. 单击“下载证书”,下载的文件包含了一个pem文件。

    “server.pem”文件包括两段证书代码“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”。

    b. 修改server.pem的后缀名为crt,和生成CSR时的私钥server.key放在一个文件夹内。

    2. 补全信息时,“证书请求文件”选择的“在线生成CSR”请参考以下步骤进行配置。

    a. 单击“下载证书”,下载的文件包含了“Apache”、“IIS”、“Nginx”、“Tomcat”4个文件夹和1个“domain.csr”文件,如图所示。

     

    b. 从Nginx文件夹内获得证书文件“server.crt ”和私钥文件“server.key”。

    “server.crt”文件包括两段证书代码“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”。

    “server.key”文件包括一段私钥代码“-----BEGIN RSA PRIVATE KEY-----”和“-----END RSA PRIVATE KEY-----”。

    配置SSL证书

    Nginx目录下新建certificate目录,并将下载好的证书/私钥等文件上传至该目录(与配置文件同级目录)。

     最后修改一下nginx.conf文件即可,如下:

    1. # ----------HTTPS配置-----------
    2. server {
    3. # 监听HTTPS默认的443端口
    4. listen 443;
    5. # 配置自己项目的域名
    6. server_name www.xxx.com;
    7. # 打开SSL加密传输
    8. ssl on;
    9. # 输入域名后,首页文件所在的目录
    10. root html;
    11. # 配置首页的文件名
    12. index index.html index.htm index.jsp index.ftl;
    13. # 配置自己下载的数字证书
    14. ssl_certificate certificate/xxx.crt;
    15. # 配置自己下载的服务器私钥
    16. ssl_certificate_key certificate/xxx.key;
    17. # 停止通信时,加密会话的有效期,在该时间段内不需要重新交换密钥
    18. ssl_session_timeout 5m;
    19. # TLS握手时,服务器采用的密码套件
    20. ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    21. # 服务器支持的TLS版本
    22. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    23. # 开启由服务器决定采用的密码套件
    24. ssl_prefer_server_ciphers on;
    25. location / {
    26. ....
    27. }
    28. }
    29. # ---------HTTP请求转HTTPS-------------
    30. server {
    31. # 监听HTTP默认的80端口
    32. listen 80;
    33. # 如果80端口出现访问该域名的请求
    34. server_name www.xxx.com;
    35. # 将请求改写为HTTPS(这里写你配置了HTTPS的域名)
    36. rewrite ^(.*)$ https://www.xxx.com;
    37. }

     

     修改完成后保存配置文件,验证配置是否正确。

    sbin/nginx -t

    显示配置正确 

     重启nginx

    nginx -s reload
    

     

  • 相关阅读:
    不止于Kubernetes,开发人员应着眼于更多适合云原生应用的范式
    CDGA|为什么工业数据治理难度那么大?
    【ClickHouse 进阶笔记】
    CCF ChinaSoft 2023 论坛巡礼 | CCF-华为胡杨林基金-软件工程专项(海报)论坛
    【leetcode hot 100】对称二叉树,二叉树最大深度,买卖股票的最佳时机,只出现一次的数字,环形链表,相交链表
    什么是微服务?微服务架构:Spring-Cloud
    进程/线程/PCB
    SQL SELECT INTO 语句
    SpringBoot 日志
    干货 | 如何在子查询和联接之间选择
  • 原文地址:https://blog.csdn.net/weixin_59280309/article/details/127983046