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

通常在作先后端分离的时候, 前端服务器用的都是nginx,但是公司项目是须要运行在windows server上面的,因此综合考虑之下用IIS比较好一些,然而这方面的资料不如nginx那么多,因此就想记录一下这段时间遇到的坑,以防本身之后再遇到的时候忘记了,这样我能够翻出来看看。

这里只说一下url重写、代理设置、以及关闭ETag三个点,其他的都是网上能够轻松搜索到而且能看懂的,就再也不赘述。html

url重写

须要安装模块urlrewrite, 传送门:https://www.iis.net/downloads...
安装好了进入到IIS网站功能视图页面,双击如图所示按钮进行配置
clipboard.png前端

而后点击页面右上方的添加规则按钮
clipboard.pngnginx

选择空白规则便可,而后具体配置能够参考下图
clipboard.pngweb

  • 名称随意,可根据我的喜爱设置
  • 匹配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.pngchrome

而后在页面右侧找到Server Proxy Settings按钮,点击进入设置segmentfault

clipboard.png

把Enable proxy前面打上勾,而后在页面右侧点击应用便可(若是已经打勾了能够跳过此步)windows

而后就是去urlrewrite模块里面添加新规则,在配置的时候以下图所示:后端

clipboard.png

这里的模式都选择通配符,好比你在前端请求的地址是'/api/----',那通配符请求模式就为'*api/*',条件那里不须要选择,而后重写的时候根据本身请求的实际地址来填写,好比我请求的实际地址是'http://segmentfault.com/write',那我这里就填写'http://segmentfault.com/{R:2}'api

而后这里根据本身请求的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>

以上,有新坑再更新

相关文章
相关标签/搜索