后臺我采用的是django
django 本身針對小程序,不需要特殊的配置。
但是nginx需要對https進行支持。
首先需要ssl證書,阿里云提供免費的ssl,可以使用。

image.png
點擊下載,選擇nginx的方式,會下載兩個文件,一個.key 文件一個 .pem
將這兩個文件上傳到你的阿里云。
然后配置nginx
之前只配置了http所以是這樣的
server {
# the port your site will be served on
listen 80;
# the domain name it will serve for
server_name x.xxx.55.85 www.xxxxx.com;
charset utf-8;
# max upload size
client_max_body_size 75M; # adjust to taste
# Django media
location /media {
alias /root/load567/media; # 指向django的media目錄
}
location /static {
alias /root/load567/static; # 指向django的static目錄
#alias /root/m2m_svr/xadmin/static; # 指向xadmin的static目錄
}
# Finally, send all non-media requests to the Django server.
location / {
uwsgi_pass django;
include uwsgi_params; # the uwsgi_params file you installed
}
}
為了支持https 我們只需添加一個server 并新增幾行配置指定剛剛上傳的.key和.pem
server {
listen 443 ssl; # 監(jiān)聽443端口
server_name xxx.xxxx.xx.xx www.xxxxx.com;
ssl_certificate /root/load567/conf/nginx/cert/xxxxx.com.pem; # 證書地址
ssl_certificate_key /root/load567/conf/nginx/cert/xxxxx.com.key; # 私有密鑰文件地址
charset utf-8;
# max upload size
client_max_body_size 75M; # adjust to taste
# Django media
location /media {
alias /root/load567/media; # 指向django的media目錄
}
location /static {
alias /root/load567/static; # 指向django的static目錄
#alias /root/m2m_svr/xadmin/static; # 指向xadmin的static目錄
}
# Finally, send all non-media requests to the Django server.
location / {
uwsgi_pass django;
include uwsgi_params; # the uwsgi_params file you installed
}
}
重啟nginx
nginx -s reload :修改配置后重新加載生效
這樣修改之后將地址由http改為https,用postman調用發(fā)現(xiàn)已經成功了。
但是微信小程序調用是依然報錯。
原因是小程序需要你指明你調用的域名是安全的,所以要網頁登錄小程序
「小程序后臺-開發(fā)-開發(fā)設置-服務器域名」

image.png

image.png

image.png
配置好了之后,我們到開發(fā)工具查看:

image.png
發(fā)現(xiàn)這里已經更新了
這時小程序也不報錯了~~~