本機發佈程式到IIS會出現 500.19錯誤,緣由是因為URLRewrite的在站臺的Web.Config設定錯誤,導致此問題發生。並且記錄當初處理的情況流程。

錯誤畫面:

看起來上面的錯誤是因為下面這兩個設定造成的,我只要把下面這兩個設定去除,IIS就可以用了,所以似乎是因為IIS原本的模組就已經有關於這兩個資料夾目錄隱藏的設定,但是現在又在Web.config裡面又在次設定了一次,所以可能出錯的原因是這個

把站臺的WebConfig設定的App_Data 、Bin 的那兩個東西拿掉就OK了,但是這似乎不是解決的真正,因為這樣修改,把IIS所有關於安全性隱藏資料夾的問題給顯現出來了,變成只有DevPCAdmin專案才回隱藏這兩個資料夾,其他反而凸顯出問題

重點是站臺有裝 URL Rewrite 2.0:

 

 

 

 

 

 

 

 

<rewrite>
  <outboundRules>
    <rule name="Remove Server">
      <match serverVariable="RESPONSE_SERVER" pattern=".+" />
      <action type="Rewrite" value="Apache/2.4.12 (Unix) OpenSSL/1.0.2a PHP/5.6.0" />
    </rule>
  </outboundRules>
</rewrite>

拿掉這個的時候就好了,所以是IIS要新裝這個功能才可以

多年後又出現一樣的問題,在重新發佈之後出現一樣問題,但是在IIS上已經安裝此功能

解決:一開始就設定錯誤,預設的隱藏標籤本來就包含下列,所以必定會造成錯誤,查看PROD設定卻沒有這個設定,原來在一開始就在本機的設定是錯誤的了

<hiddenSegments>
    <add segment="App_Data" />
    <add segment="bin" />
</hiddenSegments>
Comments

comments powered by Disqus

Related Posts


Published

Category

網路概論

Tags

Contact