微信小程序upload接口必须是https请求,所以就搭建https
一、Linux搭建https
1、申请ssl证书
这里用的是腾讯云提供的免费ssl.
https://console.qcloud.com/ssl?_ga=1.268456817.1619620622.1510718080
按照要求填写信息,申请成功之后下载证书
2、修改nginx配置文件
将证书上传到服务器上,解压
然后到***/nginx/conf下修改nginx.conf文件
在最下面添加
server {
listen 443 ssl;
server_name 申请ssl证书的域名; ssl on;
ssl_certificate 证书中crt文件地址;
ssl_certificate_key 证书中key文件地址; ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on; location / {
proxy_pass http://127.0.0.1:项目端口/;
proxy_set_header X-Forwared-For $remote_addr;
proxy_set_header Host $host;
}
}
然后保存退出,重启nginx
ps -ef|grep nginx
kill -9 xxxxxxxx
./ ***/nginx/sbin/nginx
***nginx安装路径
一半情况下会报这个错误,这是由于nginx缺少http_ssl_module模块,解决方案请参照https://www.cnblogs.com/ghjbk/p/6744131.html
*由于nginx是新搭建的,所以很多东西都没有装配,在执行./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_modul时候
会报错误:./configure: error: SSL modules require the OpenSSL library. You can either do not enable the module
解决方法:apt-get install openssl
apt-get install libssl-dev
然后再执行就行了
3.启动nginx
这里可以验证https是否搭建成功
https://cloud.tencent.com/product/ssl?from=qcloudHpHeaderSsl
大功告成!吃个鸡
二、如果项目使用的服务器添加了负载均衡,直接在负载上监听443端口,上传申请的ssl证书,配置一下nginx.conf文件,效果跟上面一样,方法比较简单,这里不具体描述
三、简单配置nginx.conf
配置域名访问,默认重定向指定页面:rewrite