Nginx配置SSL使用Https

首先需要SSL证书,可以自己制作,也可以申请免费的证书。

申请七牛免费证书

注册或登录七牛云后点击 申请 SSL 证书,并选择 【购买证书】

提交之后选择 【补全信息】

提交之后为 【待确认】状态,点击 【详情】,复制 TXT 记录值。

设置域名验证

根据申请是选择的验证方式,我们这里以 DNS 验证为例。进入域名管理控制台(这里以万网为例),添加两条解析。

下载证书

过几个小时候,进入证书管理显示证书处于已签发状态。依次点击 【详情】—【查看证书】—【下载证书】,设置解压密码下载。

解压后生成 res.changxianggu.com.key 和 res.changxianggu.com.crt 两个文件。
配置 nginx
安装 nginx 并配置网站
安装 nginx
yum install nginx
在nginx目录创建 ssl 文件夹,并上传证书文件到服务器.

修改nginx的配置文件

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    include /etc/nginx/conf.d/*.conf;

    server {
        listen       80;
        server_name  res.changxianggu.com;
        return 301 https://$host$request_uri;# 用于转发http到https
    }
    server { 
	listen 443;
	server_name res.changxianggu.com;
    ssl on;
	ssl_certificate /etc/nginx/ssl/res.changxianggu.com/res.changxianggu.com.crt;
	ssl_certificate_key /etc/nginx/ssl/res.changxianggu.com/res.changxianggu.com.key;
	ssl_session_cache builtin:1000 shared:SSL:10m;
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
	ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
	ssl_prefer_server_ciphers on;
	access_log /var/log/nginx/res.changxianggu.com.log;
        error_page   500 502 503 504  /50x.html;
        error_page 404 /404.html;
        location / { 
			root /usr/share/nginx/html;
			index ssl.html;
		}
    }
}

猜你喜欢

转载自my.oschina.net/liuyuantao/blog/1796034