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訪問,限制訪問埠不通,最終實現白名單使用者訪問的安全策略