Windows+Nginx+H3C+ 文件服務 部署配置

九尾cat發表於2024-06-27

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

相關文章