美文网首页
记一次nginx配置https

记一次nginx配置https

作者: sockball | 来源:发表于2018-07-12 09:29 被阅读0次
  • nginx版本1.14.0,openssl版本1.0.2
    nginx -v
    openssl version
  • 拿到的证书格式分别为.crt(公钥)和.key(私钥)文件
    • .crt文件格式,为多段begin-end
      -----BEGIN CERTIFICATE-----
      ...
      -----END CERTIFICATE-----
      -----BEGIN CERTIFICATE-----
      ...
      -----END CERTIFICATE-----
      
    • .key文件格式
      -----BEGIN RSA PRIVATE KEY-----
      ...
      -----END RSA PRIVATE KEY-----
      
  • nginx配置
    • server配置
      server {
          ...
          listen 443 ssl;                                                                         #nginx 1.15.0后舍弃 'ssl on;' 用法
         #keepalive_timeout 75;                                                                   #默认TCP连接保持的时间75s
      
          ssl_certificate /data/crt/api/Nginx/api.crt;                                            #引入公钥证书
          ssl_certificate_key /data/crt/api/Nginx/api.key;                                        #引入私钥key
          ssl_session_cache   shared:SSL:10m;                                                     #设置session缓存的类型和大小
          ssl_session_timeout 10m;                                                                #session缓存的ssl参数过期时间, 默认5m
          ssl_ciphers AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;                         #选择加密套件
          ssl_prefer_server_ciphers on;                                                           #优先使用服务端加密套件
         #ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;                                              #加密协议,默认即为该配置
      
          add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";             #启用HSTS:HTTP严格传输安全
          add_header Set-Cookie "Secure";                                                         #设置cookie加密传输
         #add_header X-Frame-Options "SAMEORIGIN";                                                #只允许页面可在相同域名页面frame、iframe使用
      
         #fastcgi_param HTTPS $https if_not_empty;                                                #php用 fastcgi的参数
      }
      
    • http重定向至https
      server {
          listen 80;
          server_name xxx.com;
          return 301 https://$server_name$request_uri;
      }
      

参考

相关文章

网友评论

      本文标题:记一次nginx配置https

      本文链接:https://www.haomeiwen.com/subject/iwrlpftx.html