nodejs后台接口配置https访问

后台配置https分为以下几步:

  1. 生成ssl证书,

  2. 安装nginx,

  3. 配置nginx ssl认证和端口转发

分别介绍如下

ssl证书生成

证书生成有两种方式,自己生成或者第三方申请,快速部署使用阿里云免费ssl证书即可。具体申请流程参见:https://yq.aliyun.com/articles/637307。注意:需要提前准备好域名和ip信息。

申请成功后得到 后缀为crtkey的两个文件,将其放在服务器某个位置下并记录。

nignx安装

打开网站:http://nginx.org/en/download.html

根据操作系统下载对应nginx程序包,这里以windows版本下载为例

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pVLNMTCJ-1590414220054)(/Users/lf/Desktop/桌面 - 梁峰的MacBook Pro/my/后台配置https.assets/image-20200525205308478.png)]

下载完成后解压到硬盘某一位置,完成安装。

验证是否安装成功:

如果当前服务器80端口未被占用,在当前位置右键打开命令提示符,执行

start nginx 

窗口打开后瞬间消失,访问 localhost 出现以下界面证明安装成功。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m7pz2i0z-1590414220057)(/Users/lf/Desktop/桌面 - 梁峰的MacBook Pro/my/后台配置https.assets/image-20200525210423721.png)]

如果有程序占用80 端口,那么nginx启动会有问题,需要修改对应配置文件 您安装的路径\conf\nginx.conf中的监听端口,以修改为81为例,如下:

......
server {
        listen       81; 
        server_name  localhost;
        
......

修改完成后重新启动,访问localhost:设置的端口访问验证.

nginx 常用命令

nginx -v #查看版本
start nginx #启动nginx
nginx -s reload # 重载入配置
nginx -s stop #stop是快速停止nginx,可能并不保存相关信息;
nginx -s quit #quit是完整有序的停止nginx,并保存相关信息。
nginx -s reopen #打开日志文件

# windows 常用运维命令 
tasklist /fi "imagename eq nginx.exe"  #查看当前nginx进程
netstat -ano | findstr 80 #列出占用指定端口进程
tasklist | findstr 2000 # 根据进程号查进程名称
taskkill -PID <进程号> -F #强制关闭某个进程

https配置

修改nginx配置文件您安装的路径\conf\nginx.conf,

http {

	upstream your—app {
	    server 127.0.0.1:7001; # 需要监听的端口名 后台服务端口为7001
	    keepalive 64;
	}
	
	server {
	    listen 443 ssl;
	    server_name xxx.cloud; # 配置的https的域名
	
	    ssl_certificate      C://nginx//ssl//shidian.crt;  # 这个是证书的crt文件所在目录
	    ssl_certificate_key  C://nginx//ssl//shidian.key;  # 这个是证书key文件所在目录
	
	    ssl_session_cache    shared:SSL:1m;
	    ssl_session_timeout  5m;
	
	    ssl_ciphers  HIGH:!aNULL:!MD5;
	    ssl_prefer_server_ciphers  on;
	
	 location / {
	    proxy_set_header   X-Real-IP            $remote_addr;
	    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
	    proxy_set_header   Host                   $http_host;
	    proxy_set_header   X-NginX-Proxy    true;
	    proxy_set_header   Connection "";
	    proxy_http_version 1.1;
	    proxy_pass         http://your-app;
	 }
	}
}
  • 将 crt 和 key文件位置替换为实际位置

重启nginxs

nginx -s reload

配置host文件,此步非必须,只是为了在服务器测试是否配置成功

C:\Windows\System32\drivers\etc 路径下
127.0.0.1          xxxx.cloud #需要配置的域名

执行到这里,https配置完成

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章