美文网首页
1、Express+Https+Nginx搭建小程序后台

1、Express+Https+Nginx搭建小程序后台

作者: 张干脆 | 来源:发表于2017-12-05 17:18 被阅读0次

    一、原料:

    1、Express

    2、Openssl

    3、Nginx

    二、过程:

    1、Express项目搭建(省略)

    2、Openssl生成密钥

    1)下载openssl

    下载链接:http://slproweb.com/products/Win32OpenSSL.html

    2)安装openssl,配置环境变量

    3)生成密钥文件,命令行

    1>创建文件夹cert(将文件夹放到项目根目录下)

    2>进入cert ,生成lee.key:openssl genrsa -des3 -out lee.key 1024

    3>生成lee.csr:openssl req -new -key lee.key -out lee.csr

    注意: Common Name,即为我们要使用https访问的域名。(例如:www.example.com)

    4>去除密码:copy lee.key lee.key.org;

    openssl rsa -in lee.key.org -out lee.key

    5>生成crt证书:openssl x509 -req -days 365 -in lee.csr -signkey lee.key -out lee.crt

    用到的是lee.crt和lee.key

    3、Nginx

    1)下载Nginx

    下载链接:http://nginx.org/en/download.html

    2)配置Nginx(nginx.config文件)

    upstream web-server {

    server 192.168.1.9:3000;

    }

    server {

    listen 80;

    listen      443 ssl;

    server_name  www.example.com; #域名

    ssl_certificate      G:/www/demo1/cert/lee.crt;

    ssl_certificate_key  G:/www/demo1/cert/lee.key;

    ssl_ciphers  HIGH:!aNULL:!MD5;

    ssl_prefer_server_ciphers  on;

    location / {

    proxy_pass http://web-server;

    proxy_set_header Host $host;

    proxy_set_header X-Real-IP $remote_addr;

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    }

    }

    3)配置hosts文件(要访问https://www.example.com的电脑都得配置)

    192.168.1.9      www.example.com

    4)开启、停止、重启Nginx命令

    1>开启nginx: start nginx;

    2>关闭nginx: nginx -s quit;

    3>重启nginx: nginx -s reload;(每次修改nginx.config文件,都需要重启)

    4、开启服务

    1)开启express项目:node app.js

    2)开启nginx服务:start nginx

    3)访问 https://www.example.com

    5、遇见的问题

    1)Authorization Required 

    原因::nginx未开启,443端口被占

    通过运行开启命令行:start nginx; 查看err.log文件

    2017/12/05 10:12:34 [emerg] 10588#9692: bind() to 0.0.0.0:443failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)

    解决:杀死占用443端口的进程

    命令行:

    杀死进程有关命令行:

    1>查看PID: netstat -aon|findstr "443"

    2>查看PID对应进程:tasklist|findstr "PID的值"

    2)其他机器(客户端)访问问题:【关闭防火墙、hosts文件(客户端)配置】

    相关文章

      网友评论

          本文标题:1、Express+Https+Nginx搭建小程序后台

          本文链接:https://www.haomeiwen.com/subject/qpkzxxtx.html