通常在作先後端分離的時候, 前端服務器用的都是nginx,但是公司項目是須要運行在windows server上面的,因此綜合考慮之下用IIS比較好一些,然而這方面的資料不如nginx那麼多,因此就想記錄一下這段時間遇到的坑,以防本身之後再遇到的時候忘記了,這樣我能夠翻出來看看。
這裏只說一下url重寫、代理設置、以及關閉ETag三個點,其他的都是網上能夠輕鬆搜索到而且能看懂的,就再也不贅述。html
須要安裝模塊urlrewrite, 傳送門:https://www.iis.net/downloads...
安裝好了進入到IIS網站功能視圖頁面,雙擊如圖所示按鈕進行配置
前端
而後點擊頁面右上方的添加規則按鈕
nginx
選擇空白規則便可,而後具體配置能夠參考下圖
web
這裏須要urlrewrite和Application Request Routing兩個模塊,application request routing傳送門:https://www.iis.net/downloads...正則表達式
安裝完成以後去到IIS功能視圖主頁面,雙擊Application Request Routing圖標
chrome
而後在頁面右側找到Server Proxy Settings按鈕,點擊進入設置segmentfault
把Enable proxy前面打上勾,而後在頁面右側點擊應用便可(若是已經打勾了能夠跳過此步)windows
而後就是去urlrewrite模塊裏面添加新規則,在配置的時候以下圖所示:後端
這裏的模式都選擇通配符,好比你在前端請求的地址是'/api/----',那通配符請求模式就爲'*api/*',條件那裏不須要選擇,而後重寫的時候根據本身請求的實際地址來填寫,好比我請求的實際地址是'http://segmentfault.com/write',那我這裏就填寫'http://segmentfault.com/{R:2}'api
而後這裏根據本身請求的api地址類型數目來設置規則數目
這裏是由於用了chrome的一個插件YSlow,檢測出有一條 Configure entity tags (ETags)的評分爲F,去網上搜了一下說是由於沒有關閉ETag的緣由,網上有的人說須要寫一個dll來關閉,還有一些提供dll下載的地址,我的以爲不是很靠譜,就偷偷google了一下,最後在stackoverflow上面找到答案,答案出處:https://stackoverflow.com/que...
<rewrite> <outboundRules> <rule name="Remove ETag"> <match serverVariable="RESPONSE_ETag" pattern=".+" /> <action type="Rewrite" value="" /> </rule> </outboundRules> </rewrite>
以上,有新坑再更新