http升级https的一些坑(Nginx)

获取证书

升级到https第一步就是获取一张证书。

阿里云有免费的SSL证书(据说可以一个账号可以申请20个?)

然后申请步骤跳过。。。

申请完成大概就是酱紫的

点击下载进入到证书下载页面

证书放好

修改配置

官方默认给的配置如下

server {
    listen 443;
    server_name localhost;
    ssl on;
    root html;
    index index.html index.htm;
    ssl_certificate   cert/214970146320352.pem;
    ssl_certificate_key  cert/214970146320352.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 / {
        root html;
        index index.html index.htm;
    }
}

根据配置进行更改如下

upstream employers {
	server 127.0.0.1:8882 fail_timeout=0;
}

upstream platforms {
	server 127.0.0.1:8880 fail_timeout=0;
}

server {
    listen       80;
    server_name  test.*****.com;
	return 301 https://test.*****.com;
}



server {
	#listen 80;
    listen 443;
	#listen 8880;
    server_name localhost;
    ssl on;
    root /mnt/mobile;
    index index.html index.htm;
    ssl_certificate   cert/214970146320352.pem;
    ssl_certificate_key  cert/214970146320352.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;
	
	
	#解决vue刷新404问题
	location / {
		try_files $uri $uri/ @router;
		index index.html;
	}
	
	location @router {
		rewrite ^.*$ /index.html last;
	}
	
	location /employer/ {
		proxy_pass http://employers;
		proxy_set_header Host  $host;
		proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
		proxy_set_header X-Real-IP  $remote_addr; 
		
    }
		
	location /platform/ {
		proxy_pass http://platforms;
		proxy_set_header Host  $host;
		proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
		proxy_set_header X-Real-IP  $remote_addr; 
		
	}
   
}

修改完成后记得重启nginx以启用配置(nginx -s reload)

监听80端口使得http强制跳转了https

配置完成之后记得在服务器中开启443端口,开始没有开启443一直不通还郁闷了半天

由于前端使用了vue进行开发 所以在页面进行刷新的时候 会出现404异常

网上查了下 说是由于vue为单页面访问所有资源路径 页面就只有一个(一般为index.html)

所以在不改变url的情况下响应index.html资源的内容需要加上如下配置

#解决vue刷新404问题
	location / {
		try_files $uri $uri/ @router;
		index index.html;
	}
	
	location @router {
		rewrite ^.*$ /index.html last;
	}

然后基本ok!

但网上说配置以后对应微信支付会有影响 因为微信回调走的是http,这个目前还没有测试!待测试完补充。。。

升级https之后 微信浏览器支付需要将  微信支付授权目录更改为相应的https开头的路径,调起支付时的路径跳转也应该是对应的https路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值