>위챗 애플릿 >미니 프로그램 개발 >WeChat 애플릿 Nginx 환경 구성

WeChat 애플릿 Nginx 환경 구성

高洛峰
高洛峰원래의
2017-02-25 09:47:201866검색

WeChat Mini 프로그램 서버 환경 구성 상세 설명

주요 내용:

1. SSL 무료 인증서 신청 단계
2 .Nginx HTTPS 구성
3. TLS 1.2 업그레이드 프로세스

WeChat 애플릿에서는 https을 사용하여 요청을 보내고, 웹 서버는 https을 지원하도록 구성해야 합니다. SSL 인증서 우선

미니 프로그램에서도 TLS(Transport Layer Security Protocol) 버전이 1.2 이상이어야 합니다. https 구성 후 TLS 버전이 낮을 경우 업그레이드 문제가 발생합니다

따라서 서버 측 환경 구성의 주요 단계는 다음과 같습니다.

  1. SSL 인증서 신청

  2. https를 지원하도록 웹 서버 구성(nginx 사용 중)

  3. TLS 1.2로 업그레이드

SSL 인증서 신청

https SSL 인증서를 사용해야 하는데, 인증서 가격은 연간 3,500~10,000위안 정도입니다. 소규모 팀이나 소규모 프로그램에 익숙해지고 싶은 사용자에게는 여전히 가격이 저렴합니다. 이 경우에는 무료 인증서를 선택할 수도 있습니다. 또한 Wild Dog, LeanCloud와 같은 서비스도 고려할 수 있습니다. https를 지원하면 많은 문제를 해결할 수 있습니다

무료 인증서: Alibaba Cloud의 Symantec Free DV SSL

신청 절차

wanwang.aliyun.com

로그인 콘솔의 왼쪽 메뉴에서 安全 -> 证书服务을 클릭하세요. 이 페이지 오른쪽 상단에 购买证书 버튼이 있습니다. 구매페이지에 들어가시려면 免费型DV SSL

微信小程序 Nginx环境配置

를 선택하시고, 주문금액은

0위안으로 구매를 완료하시면 됩니다. , 페이지로 돌아가면 목록에서 证书服务

微信小程序 Nginx环境配置

인증서를 볼 수 있습니다. 먼저 "

완료" 작업을 수행하고 도메인 이름 및 기본 정보

를 클릭한 다음 "

완료" 링크가 "진행"으로 변경됩니다. 클릭하고 프롬프트를 따르세요. 주로 자신의 서버를 확인합니다. 파일 검증을 선택하고, 파일을 다운로드해서 내 서버에 업로드하고, 검증을 기다립니다

검증이 성공하면 약 10분 안에 SSL 인증서를 다운로드할 수 있습니다

Nginx HTTPS 구성

인증서는

/usr/local/nginx/cert

Modify

conf/nginx.conf HTTPS 서버 블록 구성, 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.22) openssl 업그레이드

공식 홈페이지에 가서 새 버전을 다운로드하세요

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

예를 들어

/usr/localUpgrade

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 재컴파일

업그레이드 후

nginx를 재컴파일해야 합니다. 그렇지 않으면 TLS가 여전히 이전 버전입니다

다음은 기본 설치입니다. 더 필요한 경우 OpenSSL

사용된 소프트웨어

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으로 문의하세요.