nginx https 设置

in with 0 comment

centos7 安装nginx

yun install nignx

安装完成之后可以直接执行 nginx 命令启动,然后测试80端口是否可以访问。

nginx -t   --测试nginx.conf是否可用
nginx -s stop    --停止
nginx -s reload  --重新加载配置文件
nginx -c **/**/**.conf  --指定配置文件

https 配置

以阿里云免费证书为例,首先购买申请证书,下载用于nginx的证书(*.pem和*.key)。 将证书存放到服务器目录(eg: /etc/nginx/cert/*) 修改nginx.conf,在http{}中添加如下:

// 将http 80端口转换到https 443
server {
    listen 80;
    server_name lovedan.site;
    rewrite ^ https://$http_host$request_uri? permanent;
}
server {
	listen 443;
	server_name lovedan.site;
	ssl on;
	ssl_certificate   /etc/nginx/cert/site.pem;
	ssl_certificate_key  /etc/nginx/cert/site.key;
	ssl_session_timeout 5m;
	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
	ssl_prefer_server_ciphers on;
	location / {
		rewrite ^/(.*)$ /$1 break;
		proxy_redirect off;
		proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_pass http://127.0.0.1:8090;
	}
}

nginx重新加载配置文件启动,测试http和https访问正常。