IIS伺服器如何取得其它主機的共用分享檔案

也許你可能跟我一樣碰上這個問題,有兩台IIS伺服器且兩台伺服器上都有提供相同的服務,服務可能是將伺服器上的檔案(大都是PDF)寫出至client端。但是上傳這些檔案通常是只會存放在其中一台主機上為了讓這兩台主機所提供的資訊相同所以就需要設定排程定時去同步兩邊的檔案。但是又不能太頻繁的做同步的動作這樣會造成主機效能降低,因為檢查的folder檔案數也不小。所以兩邊網頁所提供的資訊會有時間上的落差存在。

為了讓這兩台IIS主機能夠提供一致的資訊內容,我將其中一台IIS主裝檔案所在的目錄做分享,然我修改asp.net程式碼將兩邊的改為一樣的以網芳路徑的檔案路徑寫法。在 visual studio 的測試環境下測試改寫過後的程式碼都可以正常運作寫出我想要取得的檔案。但是將程式碼更新到IIS伺服器上 ,卻沒法訪問遠端伺服器取得所需的資料。

那到底這樣的想法是否可行呢?答案是可以的,但是還要設定並啟用IIS的驗證方法。通過驗證才可讓IIS上運行的程式碼可以正常執行抓取遠端主機的資料。在Server2008下可以參照下面圖片操作設定:

開啟伺服器管理員介面,對我們要設定的站台的IIS開啟驗證功能

設定asp.net摸擬驗證並啟用。

P.S:驗證帳號所打上的帳號為遠端主機上可用於登入存取檔案資源帳號,密碼也是遠端主機上該帳號所使用的密碼

server2003的IIS也可以更改其驗證的方式。開啟電腦管理>網際網路資訊服務(IIS)>預設的網站(右鍵內容)>目錄安全性設定>驗證及存取控制(編輯)>更改匿名存取的使用者帳號和密碼。

然後設定webconfig如下

<system.web>
  <identity   impersonate= "true "
  userName= "domain\username "
  password= "password "
  />
</system.web>

照理來說這樣設定也是可以讓匿名帳號被設為我們所指定的帳號。

這樣的用法就好像告訴我的網頁應用程式當它想要對遠端主機存取資源時請用我指定的帳號登入存取資源。

參考來源:IIS6 常見問題解答

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s