Windows+Nginx+H3C+ 文档服务 部署配置
Windows+Nginx+H3C+ 文档服务 部署配置
背景
在银行前置机种将银行前置机【UKey加解密】的回单返回给指定的IP的服务器,习惯了各种Linux/unix系统部署服务当然也不能拒绝Windows这种传统古老的部署方式,运维的特征彻底暴露了啥都会啥都干,把问题解决做好。
结合以上需求背景有以下解决方案:
1、将前置机的回传单文件同步到钉钉服务器上【sftp】
2、Nginx暴露文件流,程序自行获取文件名做拼接
3、共享前置机回传单目录给钉钉服务器【sumba】
考虑网络安全及策略配置复杂度采用Nginx文件流的方式。
Nginx软件下载
Nginx 正常部署方式有以下几种方式:
- 源码编译安装
- 二进制编译安装
- yum源安装
- rpm包安装
- docker/k8s部署
结合实际场景采用二进制安装方式,减少系统安装程序和维护复杂度
官方下载地址: https://nginx.org/download/nginx-1.26.1.zip
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访问,限制访问端口不通,最终实现白名单用户访问的安全策略