Heim  >  Artikel  >  WeChat-Applet  >  Konfiguration der Nginx-Umgebung des WeChat-Applets

Konfiguration der Nginx-Umgebung des WeChat-Applets

高洛峰
高洛峰Original
2017-02-25 09:47:201835Durchsuche

Detaillierte Erläuterung der Konfiguration der WeChat Mini Program Server-Umgebung

Hauptinhalt:

1. Schritte zur Beantragung eines kostenlosen SSL-Zertifikats
2 . Nginx HTTPS-Konfiguration
3. TLS 1.2-Upgrade-Prozess

WeChat-Applet erfordert die Verwendung von https zum Senden von Anfragen, dann muss der Webserver für die Unterstützung von https konfiguriert werden, und Sie müssen eine beantragen SSL-Zertifikat zuerst

Das Miniprogramm erfordert außerdem, dass die Version von TLS (Transport Layer Security Protocol) mindestens 1.2 ist. Wenn nach der Konfiguration von https die Version von TLS niedriger ist, Es wird Upgrade-Probleme geben

Also die wichtigsten Schritte für die serverseitige Umgebungskonfiguration:

  1. SSL-Zertifikat beantragen

  2. Konfigurieren Sie den Webserver für die Unterstützung von https (ich verwende Nginx)

  3. Upgrade auf TLS 1.2

SSL-Zertifikatsanwendung

https Sie müssen ein SSL-Zertifikat verwenden. Der Preis für das Zertifikat liegt zwischen 3.500 und 10.000 Yuan pro Jahr. Für kleine Teams oder Benutzer, die sich mit kleinen Programmen vertraut machen möchten, ist der Preis immer noch niedrig relativ hoch. In diesem Fall können Sie auch Cloud-Dienste wie Wild Dog und LeanCloud in Betracht ziehen Unterstützen Sie https. Wenn diese Plattformen Ihre Geschäftsanforderungen erfüllen können, ersparen Sie sich viel Ärger

Kostenloses Zertifikat: Symantec Free DV SSL auf Alibaba Cloud

Antragsprozess

wanwang.aliyun.com

Melden Sie sich bei der Konsole an, klicken Sie im linken Menü auf 安全 -> 证书服务. In der oberen rechten Ecke dieser Seite befindet sich eine Schaltfläche 购买证书 , klicken Sie, um die Kaufseite aufzurufen, wählen Sie 免费型DV SSL

微信小程序 Nginx环境配置

Der Bestellwert beträgt

0. Führen Sie anschließend den Kaufvorgang durch Abschluss, kehren Sie zur Seite 证书服务

Führen Sie zunächst den Vorgang „微信小程序 Nginx环境配置Abschließen

“ aus Geben Sie Ihren Domainnamen und Ihre grundlegenden Informationen ein

und dann „Vollständig

“, die Verbindung ändert sich in „

Fortschritt“, klicken Sie und befolgen Sie die Anweisungen, hauptsächlich um Ihren eigenen Server zu überprüfen . Ich habe die Dateiüberprüfung gewählt, lade eine Datei herunter und lade sie auf meinen Server hoch, warte auf die Überprüfung Nachdem die Überprüfung in Ordnung ist, dauert es etwa 10 Minuten. Sie können das SSL-Zertifikat herunterladen

Nginx HTTPS-Konfiguration

Laden Sie das Zertifikat in das Nginx-Verzeichnis hoch, z. B.

/usr/local/nginx/cert
Ändern Sie das

Konfiguration HTTPS-Server blockieren und SSL-Konfiguration hinzufügen conf/nginx.conf

# 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;
 }

 ......
 
}

Konfigurationsdatei neu laden und Verwenden Sie die Methode
, um im Browser auf Ihren eigenen Domänennamen zuzugreifen und zu sehen, ob Sie normal darauf zugreifen können

httpsUpgrade auf TLS 1.2

TLS-Version anzeigen

Nachdem Sie auf die https-URL zugegriffen haben, wird vor der Adressleiste ein kleines grünes Schlosssymbol angezeigt. Klicken Sie darauf, um die TLS-Versionsinformationen anzuzeigen

Wenn ja nicht erreicht 微信小程序 Nginx环境配置Sie müssen ein Upgrade durchführen

Die folgende Betriebsumgebung ist Centos Linux1.2

1) Überprüfen Sie die OpenSSL-Version

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

Die folgenden Versionen werden aktualisiert. Die Wartung der vorherigen Versionen wurde offiziell eingestellt

2) Upgrade openssl1.0.2

Gehen Sie zur offiziellen Website, um die neue Version herunterzuladen

https://www.openssl.org/source/
Zum Beispiel herunterladen auf

Upgrade/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

Überprüfung

openssl version -a
3) Nginx neu kompilieren

Nach dem Upgrade

, Nginx muss neu kompiliert werden, sonst ist TLS immer noch das Folgende ist die Grundinstallation der alten Version

Wenn Sie mehr benötigen, passen Sie bitte die verwendete Software OpenSSL

selbst an

openssl
  • Vorherige Installation wurde abgeschlossen
  • pcre
  • PCRE-Installation:

下载地址
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-Installation

下载地址 
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 kompilieren:

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

Denken Sie nach Abschluss der Kompilierung daran, die Konfigurationsdatei zu ändern und SSL-bezogene Informationen hinzuzufügen.

Starten Sie dann nginx, besuchen Sie die https-URL und überprüfen Sie die TSL-Version schon wieder

Beim Kompilieren und Installieren von Nginx sind Probleme aufgetreten:

Die Fehlermeldung lautet wie folgt:

需要说明的是,我这里编译所使用的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中文网!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn