微信小程序的服务器配置需要域名备案和上https的。我用的域名是腾讯学生认证的免费域名,腾讯云也可以申请https证书https证书申请好了以后会有一个证书文件,文件里面的nginx下的两个文件是我们用到的。
把它们弄到一个文件夹中,例如我放在了/ssl/下。然后再nginx中配置server 443字段下的
server_name xxx.cn;
charset utf-8;
ssl on;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_certificate /ssl/xxx.crt;
ssl_certificate_key /ssl/xx.key;
然后还需要配置下80端口的转发到443端口
新建一个
http80.conf
server {
listen 80;
server_name localhost;
rewrite ^(.*)$ https://$host$1 permanent;
location / {
root html;
index index.html index.htm;
}}
然后把它添加到nginx中。
因为小程序的服务器地址不能加端口号的,我们需要讲某一个路径下(/api)的请求转发到node的端口号下,这里是8888端口。
//443server下
location ^~/api/ {
proxy_pass https://xxx.cn:8888;
}
现在,所有请求到443端口/api的请求都到8888端口上了,只要我们把nodejs服务的监听端口号监听在8888端口,微信小程序的请求到 https://xxx.cn/api 就会请求到8888端口了