nginx配置虚拟主机vhosts以支持https协议

  • A+
所属分类:最佳实践

1.申请https 证书

支持一个域名的免费证书,可以在阿里云申请,其他的云厂商,腾讯云等也提供类似服务。

阿里云申请地址:

https://common-buy.aliyun.com/?spm=5176.7968328.1266638..107012328vv6B3&commodityCode=cas#/buy

选择“Symantec”的免费型。购买后,按步骤一步步申请证书就好。

nginx配置虚拟主机vhosts以支持https协议

国外的比较大的免费https证书:https://letsencrypt.org/

申请完成之后,配置nginx 虚拟主机配置文件。

2.将申请的pem和key结尾的文件上传到nginx目录下(为方便管理,可以在/nginx/conf目录下创建cert目录,把两个文件上传到cert目录)。

3.在/nginx/conf/vhosts下,找到你的虚拟主机配置文件,如果没有可以创建一个.conf 结尾的配置文件。红色部分就是有关ssl的配置。

server {
        listen       80;
        listen       443 ssl;
        server_name  mtest.dspkj.cn;
        ssl_certificate   cert1/1790602_mtest.dspkj.cn.pem;
        ssl_certificate_key  cert1/1790602_mtest.dspkj.cn.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;
	index index.html index.htm index.php;
	root /alidata/www/xxx_xxx_com_cn;
	location ~ .*\.(php|php5)?$
	{
		#fastcgi_pass  unix:/tmp/php-cgi.sock;
		fastcgi_pass  127.0.0.1:9000;
		fastcgi_index index.php;
		include fastcgi.conf;
	}
	location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
	{
		expires 30d;
	}
	location ~ .*\.(js|css)?$
	{
		expires 1h;
	}
	location / {
                # 这里使用try_files进行url重写,不用rewrite了。
                try_files $uri $uri/ /index.php?$query_string;
        }
 
        location ~ \.php($|/) {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info ^(.+\.php)(.*)$;
            fastcgi_param   PATH_INFO $fastcgi_path_info;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
        location ~ /\.ht {
                deny  all;
        }
	#伪静态规则
	access_log  /alidata/log/nginx/access/xxx_xxx_com_cn.log;
}

ssl_certificate    ssl_certificate_key    是https证书和私钥。按照实际路径填写。

listen 443 ssl;   一定要这样写,如果写成 ssl on 这种形式,http就会报400错误

server_name     作用的域名

保存后,重启nginx生效



  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: