vue項目部署在IIS上面的心得


一般在做前后端分離的時候, 前端服務器用的都是nginx,可是公司項目是需要運行在windows server上面的,所以綜合考慮之下用IIS比較好一些,然而這方面的資料不如nginx那么多,所以就想記錄一下這段時間遇到的坑,以防自己以后再遇到的時候忘記了,這樣我可以翻出來看看。

這里只說一下url重寫、代理設置、以及關閉ETag三個點,其余的都是網上可以輕松搜索到並且能看懂的,就不再贅述。

url重寫

需要安裝模塊urlrewrite, 傳送門:https://www.iis.net/downloads...
安裝好了進入到IIS網站功能視圖頁面,雙擊如圖所示按鈕進行配置
clipboard.png

然后點擊頁面右上方的添加規則按鈕
clipboard.png

選擇空白規則即可,然后具體配置可以參考下圖
clipboard.png

  • 名稱隨意,可根據個人喜好設置
  • 匹配URL,選擇使用正則表達式,然后模式根據請求的api來填寫,比如我請求的api地址全都是為'/api/---',那我這里填寫^((?!(api)).)*$即可;比如我請求的api地址類型有'/api/---'和'/bpi/----'這兩種,那正則表達式可以寫成這樣:^((?!(api)|(bpi)).)*$
  • 然后條件添加一個不是文件的情況
  • 最后就是重寫url那里寫成/index.html

代理設置

這里需要urlrewrite和Application Request Routing兩個模塊,application request routing傳送門:https://www.iis.net/downloads...

安裝完成之后去到IIS功能視圖主頁面,雙擊Application Request Routing圖標
clipboard.png

然后在頁面右側找到Server Proxy Settings按鈕,點擊進入設置

clipboard.png

把Enable proxy前面打上勾,然后在頁面右側點擊應用即可(如果已經打勾了可以跳過此步)

然后就是去urlrewrite模塊里面添加新規則,在配置的時候如下圖所示:

clipboard.png

這里的模式都選擇通配符,比如你在前端請求的地址是'/api/----',那通配符請求模式就為'*api/*',條件那里不需要選擇,然后重寫的時候根據自己請求的實際地址來填寫,比如我請求的實際地址是'http://segmentfault.com/write',那我這里就填寫'http://segmentfault.com/{R:2}'

然后這里根據自己請求的api地址類型數目來設置規則數目

關閉ETag

這里是因為用了chrome的一個插件YSlow,檢測出有一條 Configure entity tags (ETags)的評分為F,去網上搜了一下說是因為沒有關閉ETag的原因,網上有的人說需要寫一個dll來關閉,還有一些提供dll下載的地址,個人覺得不是很靠譜,就偷偷google了一下,最后在stackoverflow上面找到答案,答案出處:https://stackoverflow.com/que...

  • 這里也貼一下,大致方法就是在web.config文件里面添加以下代碼即可
<rewrite> <outboundRules> <rule name="Remove ETag"> <match serverVariable="RESPONSE_ETag" pattern=".+" /> <action type="Rewrite" value="" /> </rule> </outboundRules> </rewrite>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM