搜尋
首頁微信小程式小程式開發微信小程式 Nginx環境配置

微信小程式Server環境設定詳解

主要內容:

1. SSL免費憑證申請步驟
2. Nginx HTTPS 設定
3. TLS 1.2 升級過程

微信小程式要求使用https 傳送請求,那麼Web伺服器就要設定成支援https,需要先申請SSL憑證

小程式也要求TLS(傳輸層安全性協定)的版本至少為1.2,在設定好https之後,如果TLS 的版本較低,就牽涉到升級問題

所以Server端環境設定的主要步驟:

  1. 申請SSL 憑證

  2. 設定網頁伺服器支援https(我使用的是nginx)

  3. #升級到TLS 1.2

SSL證書申請

https 需要使用SSL證書,這個證書的價格是每年三五千到一萬多,對於小團隊或是想熟悉一下小程式的使用者來說,這個價格還是比較高的,這種情況可以選擇免費證書,另外,也可以考慮一下雲端服務,例如野狗LeanCloud 這些成熟的服務平台,都支援https,如果這些平台能滿足自己的業務需求,就省掉了很多麻煩

#免費證書:阿里雲上的賽門鐵克免費型DV SSL

申請程序

wanwang.aliyun.com

登入控制台,點選左側選單中的安全-> 憑證服務,這個頁面中右上角有購買憑證 按鈕,點選進入購買頁,選擇免費型DV SSL,購買

微信小程序 Nginx环境配置

訂單金額為0元,只是走一遍購買流程,完成後回到憑證服務頁面,可以在清單中看到一個憑證

微信小程序 Nginx环境配置

先進行「補全」 操作,填入自己的網域和基本資訊

#之後「補全」 連線會變成「進度”,點擊後根據提示操作,主要是驗證自己的伺服器,我選的是檔案驗證,下載一個檔案上傳到自己伺服器,等待驗證

驗證沒問題後,大概10分鐘左右就可以下載SSL憑證了

Nginx HTTPS 設定

#憑證上傳到nginx目錄下,例如

/usr/local/nginx/cert

#修改conf/nginx.conf

設定HTTPS server 區塊兒,加入SSL設定

##

# HTTPS server
#
server {
 listen  443 ssl;
 server_name localhost;
 ......
 
 ssl on;
 ssl_certificate /usr/local/nginx/cert/213994146300992.pem;
 ssl_certificate_key /usr/local/nginx/cert/213994146300992.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;
 }

 ......
 
}


#重新載入設定文件,瀏覽器中使用

https 方式存取自己的域名,看是否可以正常存取

##升級到TLS 1.2

查看TLS 版本

訪問https url 後,網址列前面會有一個綠色小鎖定圖標,點擊它可以查看到TLS 版本資訊

微信小程序 Nginx环境配置如果沒有達到

1.2

就需要升級下面的操作環境為centos linux

1)查看openssl 版本

#
https://www.openssl.org/source/

1.0.2

以下的版本就要升級,之前的版本官方都已經停止維護2)升級openssl

到官網下載新版

https://www.openssl.org/source/

例如下載到

/usr/local

##升級

#

cd /usr/local
tar zxvf openssl-1.0.2j.tar.gz 
cd openssl-1.0.2j 
./config --prefix=/usr/local/openssl 
make && make install 
mv /usr/bin/openssl \
 /usr/bin/openssl.OFF 
mv /usr/include/openssl \
 /usr/include/openssl.OFF 
ln -s \
 /usr/local/openssl/bin/openssl \
 /usr/bin/openssl 
ln -s \
 /usr/local/openssl/include/openssl \
 /usr/include/openssl 
echo "/usr/local/openssl/lib"\
 >>/etc/ld.so.conf 
ldconfig -v

驗證

#

openssl version -a

3)重新編譯nginx

升級

OpenSSL

之後,nginx需要重新編譯,否則TLS還是舊版的

下面是基本安裝,如您需求更多,請自行調整

用到的軟體

openssl
  • #前面已經安裝完成了
  • pcre
  • pcre安裝:

下载地址
http://www.pcre.org/
例如下载到 /usr/local

cd /usr/local
tar -zxv -f pcre-8.39.tar.gz
cd pcre-8.39
./configure --prefix=/usr/local/pcre/
make && make install

zlib安裝

下载地址 
http://www.zlib.net/
例如下载到 /usr/local

cd /usr/local
tar -zxv -f zlib-1.2.10.tar.gz
cd zlib-1.2.10
./configure --prefix=/usr/local/zlib/
make && make install

編譯nginx:

#

tar zxvf nginx-1.10.3.tar.gz
cd nginx-1.10.3
 
./configure --prefix=/data/nginx --with-http_ssl_module --with-openssl=/usr/local/openssl

tar -zxvf nginx-1.10.2.tar.gz
cd nginx-1.10.2

./configure \
--user=用户 \
--group=组 \
--prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-openssl=/usr/local/openssl-1.0.2j \
--with-pcre=/usr/local/pcre-8.39 \
--with-zlib=/usr/local/zlib-1.2.10 \
--with-http_stub_status_module \
--with-threads

make && make install

編譯完成後,記得把修改設定文件,加入好SSL 的相關資訊

然後啟動nginx,造訪https url 再次驗證TSL 版本

Nginx編譯安裝時遇到的問題:

錯誤訊息如下:

##
/bin/sh: line 2: ./config: No such file or directory
make[1]: *** [/usr/local/ssl/.openssl/include/openssl/ssl.h] Error 127
make[1]: Leaving directory `/usr/local/src/nginx-1.10.2‘
make: *** [build] Error 2

################################

需要说明的是,我这里编译所使用的Nginx源码是1.10.2的。根据报错信息我们知道,出错是因为Nginx在编译时并不能在/usr/local/ssl/.openssl/ 这个目录找到对应的文件,其实我们打开/usr/local/ssl/这个目录可以发现这个目录下是没有.openssl目录的,因此我们修改Nginx编译时对openssl的路径选择就可以解决这个问题了

解决方案:

打开nginx源文件下的/root/nginx-1.10.2/auto/lib/openssl/conf文件

找到这么一段代码:

CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"
CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h"
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"
CORE_LIBS="$CORE_LIBS $NGX_LIBDL"

修改成以下代码:

CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"
CORE_DEPS="$CORE_DEPS $OPENSSL/include/openssl/ssl.h"
CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libssl.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libcrypto.a"
CORE_LIBS="$CORE_LIBS $NGX_LIBDL"

然后再进行Nginx的编译安装即可 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

更多微信小程序 Nginx环境配置相关文章请关注PHP中文网!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具