nginx的https配置

在web开发中,一般使用nginx作为网关,本文介绍nginx下的https的配置

证书申请

主要介绍阿里云免费SSL证书申请

  • 购买SSL证书:阿里云免费SSL地址
  • 修改CNAME配置:SSLDNS验证需要在DNS解析规则添加TXT记录,需要删除CNAME或者改为A记录
  • 补全信息:一个免费SSL证书只能绑定一个域名,选择DNS验证

Nginx配置

  • 创建证书目录:mkdir /etc/nginx/cert

  • 进行https配置vim /etc/nginx/sites-available/ssl

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    server {
    listen 443;
    server_name your.domain.com;
    root /var/www/html;
    index index.html index.htm;
    ssl on;
    ssl_certificate cert/cert.pem;
    ssl_certificate_key cert/cert.key;
    ssl_session_timeout 5m;
    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_prefer_server_ciphers on;
    location / {
    try_files $uri $uri/ =404;
    }
    }
  • 配置http重定向到https

    1
    2
    3
    4
    5
    6
    7
    8
    # HTTP server
    server {
    listen 80;
    server_name your.domain.com;

    #rewrite ^(.*)$ https://$host$1 permanent; # Nginx 旧写法,$1匹配()的内容
    return 301 https://$host$request_uri; # Nginx 新写法
    }

参考链接

分享到