用Nginx實現微信小程序本地SSL請求


我們在開發小程序的時候,需要填寫一個授權域名。還要有一個證書。這些都是花錢的。開發非常不方便。本文主要講解配置ssl和本地開發

小程序后台添加授權域名

這個域名你要寫一個是備案過的。具體是不是你的,都可以。因為我們待會會改hosts做映射。

 

更改hosts

hosts 文件地址:C:\Windows\System32\drivers\etc

127.0.0.1 example.com #example.com 表示你的域名

生成自簽名SSL證書

首先需要有OpenSSL。Mac是自帶的,無須再安裝;windows可以使用git-bash這類工具

這是生成自簽名證書的教程 How to create a self-signed Certificate,下面是簡化的版本

打開命令行:

1. 生成Private Key
輸入命令 openssl genrsa -des3 -out server.key 1024

2. 生成CSR (Certificate Signing Request)
輸入命令 openssl req -new -key server.key -out server.csr
然后根據提示依次輸入信息,域名【comman name】不要填錯

3. 移除Passphrase
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key

4.生成自簽名證書
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

完成了以上4步后,將server.crt和server.key移到你想要存放證書的地方。

配置nginx

nginx的配置文件:nginx.conf

server {
    listen 443 ssl;
    ssl_certificate /ssl/server.crt; # 剛生成的crt
    ssl_certificate_key /ssl/server.key; # 剛生成的key
    server_name yourdomain.com; # 你的域名
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout 5m;
    ssl_protocols SSLv3 TLSv1;
    location / {
        proxy_pass http://127.0.0.1:3000; # 本地服務器地址及端口
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
        proxy_set_header X-Forward-Proto https;
        proxy_http_version 1.1;
        # for websocket
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }   
}

打開不校驗安全域名、TLS 版本以及 HTTPS 證書

然后就可以在本地開發了。

參考文章:https://zhuanlan.zhihu.com/p/23640321


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM