• Nginx配置SSL安全证书


      记录一份我理解并操作过的Nginx对于使用SSL安全证书的配置。参考过文章:https://help.aliyun.com/document_detail/98728.html?spm=5176.b657008.help.dexternal.f85a56a7KtWCVg

    1. 配置前,确定下文件有没有准备好,一份SSL证书、一份对应的私钥KEY文件、一台nginx服务,确定都准备好了,便可以开始配置。
    2. 先将nginx的配置文件备份,再打开nginx服务的配置文件,一般都是nginx.conf。可以直接执行:nginx -t;来获取nginx的配置文件目录,如图:
    3. 在配置文件中代码片段 http{}中找到 server{}代码段,在server中配置以下参数:
    listen 端口 ssl; #监听的端口,nginx 1.15.0及以上版本,使用listen 443 ssl代替,1.15.0以下的使用listen 443
    server_name 域名地址; #需要证书验证的域名。
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";#开启HSTS,通知浏览器使用https访问。该配置在第一次访问或缓存被清除时有被劫持风险 rewrite
    ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。该配置有被劫持风险 ssl on; #打开ssl支持,nginx 1.15.0以下的需要配置该参数。 ssl_certificate cert-file-name.crt; #指定crt文件所在路径,如果写相对路径,必须把该文件和nginx.conf文件放到一个目录下。 ssl_certificate_key cert-file-name.key; #指定私钥文件key所在路径,如果写相对路径,必须把该文件和nginx.conf文件放到一个目录下。 ssl_session_timeout 5m; # 请求超时时长 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #指定SSL协议 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
      #配置ssl加密算法,多个算法用:分隔,ALL表示全部算法,!表示不启用该算法,+表示将该算法排到最后面去。 ssl_prefer_server_ciphers on; #如果不指定默认为off,当为on时,在使用SSLv3和TLS协议时,服务器加密算法将优于客户端加密算法。 ssl_verify_client on;#打开客户端验证支持,可选配置,客户端不验证可不配 ssl_client_certificate ca.crt; #配置客户端验证服务器所需的根证书公钥文件所在位置,可选配置,客户端不验证可不配

      

      4. 配置完成后,nginx -t;测试配置文件是否正确,再使用命令:nginx -s reload; 加载nginx的配置文件并重启

      5. 在浏览器中输入:https://域名地址,验证SSL是否配置成功

  • 相关阅读:
    Java集合容器面试题(2022最新版)
    消息中间件MQ与RabbitMQ面试题(2022最新版)
    Spring面试题(2022最新版)
    程序员何苦为难程序员!
    HashMap的remove树节点的时候树会进行退化
    Spring Boot面试题(2022最新版)
    Spring MVC面试题(2022最新版)
    Redis面试题(2022最新版)
    Java虚拟机(JVM)面试题(2022最新版)
    那些游戏告诉我们,这就是人生!
  • 原文地址:https://www.cnblogs.com/lovelyli/p/15270965.html
Copyright © 2020-2023  润新知