Maison  >  Article  >  Applet WeChat  >  Explication détaillée de la configuration de l'environnement Nginx pour le développement de l'applet WeChat

Explication détaillée de la configuration de l'environnement Nginx pour le développement de l'applet WeChat

巴扎黑
巴扎黑original
2017-09-12 10:03:133284parcourir

Explication détaillée de la configuration de l'environnement du serveur du programme WeChat Mini

Contenu principal :

Étapes de demande de certificat SSL gratuit

2. Configuration HTTPS Nginx

3. Processus de mise à niveau TLS 1.2

L'applet WeChat nécessite l'utilisation de https pour envoyer des requêtes, le serveur Web doit alors être configuré pour prendre en charge https et vous. vous devez d'abord demander SSL. L'applet du certificat

nécessite également que la version de TLS (Transport Layer Security Protocol) soit au moins 1.2 Après avoir configuré https, si la version de TLS. est inférieur, il y aura un problème de mise à niveau

Donc, les principales étapes de la configuration de l'environnement côté serveur :

  1. Demander un certificat SSL

  2. Configurer le serveur Web pour prendre en charge https (j'utilise It's nginx)

  3. Mise à niveau vers TLS 1.2

SSL demande de certificat

https Vous devez utiliser un certificat SSL Le prix de ce certificat est compris entre 3 000 et 5 000 à plus de 10 000 par an Pour les petites équipes ou les utilisateurs qui souhaitent se familiariser. petits programmes, ce prix reste relativement élevé. Dans ce cas, vous pouvez choisir un certificat gratuit. De plus, vous pouvez également envisager des services cloud, tels que Wild Dog, LeanCloud. . Ces plates-formes de services matures prennent toutes en charge https. Si ces plates-formes peuvent répondre aux besoins de votre entreprise, vous économiserez beaucoup de problèmes

Certificat gratuit : Symantec DV SSL sur Alibaba Cloud

.

Processus de candidature

wanwang.aliyun.com

Connectez-vous à la console, cliquez sur 安全 -> 证书服务 dans le menu de gauche, il y a un bouton 购买证书 dans le coin supérieur droit de cette page, cliquez pour saisir l'achat page, sélectionnez 免费型DV SSL, achetez

et le montant de la commande est de 0 yuan, suivez simplement le processus d'achat. Une fois terminé, revenez à la page. 证书服务 page, vous pouvez voir un certificat dans la liste

Procédez d'abord à l'opération "Terminer ", renseignez votre nom de domaine et les informations de base

puis "Terminer ", le lien deviendra "Progrès", après avoir cliqué sur Suivez les invites, principalement pour vérifier votre propre serveur. J'ai choisi la vérification des fichiers, télécharger. un fichier et téléchargez-le sur mon serveur, et attendez la vérification

Une fois la vérification terminée, vous pouvez télécharger le certificat SSL en 10 minutes environ

Configuration HTTPS Nginx

Téléchargez le certificat dans le répertoire nginx, par exemple,

/usr/local/nginx/cert

Modifierconf/nginx.conf

Configurer le serveur HTTPS Bloquer, ajouter la configuration 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;
 }


 ......
 
}

Rechargez le fichier de configuration, utilisez la méthode https pour accéder à votre propre nom de domaine dans le navigateur, voyez si vous pouvez y accéder normalement

Mise à niveau vers TLS 1.2

Afficher la version TLS

Après avoir accédé à l'URL https, il y aura une petite icône de cadenas vert devant la barre d'adresse. Cliquez dessus pour afficher les informations sur la version TLS

.

S'il n'atteint pas 1.2, vous devez mettre à niveau

L'environnement d'exploitation ci-dessous est Centos Linux

1) Vérifiez la version openssl

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

1.0.2Les versions suivantes doivent être mises à niveau. Les versions précédentes ont officiellement arrêté la maintenance

2) Mettre à niveau openssl

Allez sur le site officiel pour télécharger la nouvelle version

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

Par exemple, téléchargez sur /usr/local

Mise à niveau

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

Vérification

openssl version -a

3) Recompilez nginx

Après la mise à niveauOpenSSL, nginx doit être recompilé, sinon TLS est toujours une ancienne version

Ce qui suit est l'installation de base Si vous avez besoin de plus, veuillez l'ajuster vous-🎜>

Le logiciel utilisé.

openssl

Il a été installé avant

pcre

installation de 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

Installation de 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

Compilez 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
Une fois la compilation terminée, n'oubliez pas de modifier le fichier de configuration et ajoutez des informations relatives à SSL

Ensuite démarrez nginx et visitez l'url https Vérifiez à nouveau la version TSL

Problèmes rencontrés lors de la compilation et de l'installation de Nginx :

L'erreur Le message est le suivant :

/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
Ce qui doit être expliqué, c'est que le code source Nginx que j'ai utilisé pour la compilation ici est 1.10.2. D'après le message d'erreur, nous savons que l'erreur est due au fait que Nginx ne trouve pas le fichier correspondant dans le répertoire /usr/local/ssl/.openssl/ lors de la compilation. En fait, nous pouvons trouver ce répertoire lorsque nous ouvrons le /usr/. local/ssl/. Il n'y a pas de répertoire .openssl, nous pouvons donc résoudre ce problème en modifiant la sélection du chemin pour openssl lors de la compilation de Nginx

Solution :

Ouvrir le fichier source nginx Le fichier /root/nginx-1.10.2/auto/lib/openssl/conf

a trouvé ce code :

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"
et l'a modifié par le code suivant :

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"
Puis compilez et installez Nginx

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn