Windows+Nginx+H3C+ 文档服务 部署配置
背景
在银行前置机种将银行前置机【UKey加解密】的回单返回给指定的IP的服务器,习惯了各种Linux/unix系统部署服务当然也不能拒绝Windows这种传统古老的部署方式,运维的特征彻底暴露了啥都会啥都干,把问题解决做好。
结合以上需求背景有以下解决方案:
1、将前置机的回传单文件同步到钉钉服务器上【sftp】 2、Nginx暴露文件流,程序自行获取文件名做拼接 3、共享前置机回传单目录给钉钉服务器【sumba】 考虑网络安全及策略配置复杂度采用Nginx文件流的方式。
Nginx软件下载
Nginx 正常部署方式有以下几种方式:
- 源码编译安装
- 二进制编译安装
- yum源安装
- rpm包安装
- docker/k8s部署
结合实际场景采用二进制安装方式,减少系统安装程序和维护复杂度
官方下载地址: nginx.org/download/ng…
Windows 部署Ngin
解压压缩包
测试启动
#进入压缩文件目录,使用cmd启动nginx
cd D:\nginx-1.26.1
start nginx
#验证启动
netstat -tan |findstr 0.0.0.0:80
配置Nginx文档服务
修改配置
可备份或开启子配置文件进行修改,注意Windows目录和Linux目录格式不同 配置为: "root D:/bank/"。
直接修改配置文件D:\nginx-1.26.1\conf\nginx.conf
location / {
root html;
index index.html index.htm;
}
# 修改为:
location / {
#root html;
#index index.html index.htm;
root "D:\bank\CCB\企业网银外联平台客户端服务囯密版\CCB_EBSClient_B2BV6.0_Build20230526_x64\download";
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
limit_rate 300k;
}
重新加载配置
重新加载一次配置就会单独生成一个进程,需要手动kill掉原来的进程
nginx -t
nginx -s reload
#若不生效,则以下操作,搜索Nginx的pid
tasklist /fi "imagename eq nginx.exe"
#根据PID删除进程
taskkill /F /PID 11250
访问验证
Windows 配置Nginx启动脚本
编写Nginx启动脚本,实现双击脚本启动Nginx,类似软件快速启动的快捷方式,在桌面编写保存nginx.bat文件内容如下:
@echo off
cd /d D:\nginx-1.26.1
start nginx
H3C防火墙配置
以上实现内网环境下的Windows 文档服务器的访问,对于钉钉访问需要暴露公网IP和端口,这里通过H3C映射公网IP:port作为访问,同时设置白名单安全策略只允许固定IP访问。
映射放行
映射公网IP:port到内网IP:port
测试验证访问规则
设置白名单策略
遵循“先拦截再放行策略”,类似iptables规则先限制所有用户访问,在允许放行指定的白名单,最终创建规则如下
验证白名单规则
白名单IP访问
非加白IP访问,限制访问端口不通,最终实现白名单用户访问的安全策略