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>

以上,有新坑再更新


有趣的hello world

955 声望
618 粉丝
0 条评论
推荐阅读
《CSS世界》阅读笔记,持续更新
1、padding百分比值无论是水平方向还是垂直方向均是相对于宽度计算的; 2、实现一个宽高比为5:1的比例固定的头图效果(兼容IE6) {代码...} 3、padding与图形绘制 {代码...} 4、尺寸的理解元素尺寸:对应jQuery中...

我养了一窝汪汪1阅读 1.2k评论 4

从零搭建 Node.js 企业级 Web 服务器(零):静态服务
过去 5 年,我前后在菜鸟网络和蚂蚁金服做开发工作,一方面支撑业务团队开发各类业务系统,另一方面在自己的技术团队做基础技术建设。期间借着 Node.js 的锋芒做了不少 Web 系统,有的至今生气蓬勃、有的早已夭折...

乌柏木150阅读 12.3k评论 10

正则表达式实例
收集在业务中经常使用的正则表达式实例,方便以后进行查找,减少工作量。常用正则表达式实例1. 校验基本日期格式 {代码...} {代码...} 2. 校验密码强度密码的强度必须是包含大小写字母和数字的组合,不能使用特殊...

寒青56阅读 7.9k评论 11

JavaScript有用的代码片段和trick
平时工作过程中可以用到的实用代码集棉。判断对象否为空 {代码...} 浮点数取整 {代码...} 注意:前三种方法只适用于32个位整数,对于负数的处理上和Math.floor是不同的。 {代码...} 生成6位数字验证码 {代码...} ...

jenemy46阅读 6k评论 12

从零搭建 Node.js 企业级 Web 服务器(十五):总结与展望
总结截止到本章 “从零搭建 Node.js 企业级 Web 服务器” 主题共计 16 章内容就更新完毕了,回顾第零章曾写道:搭建一个 Node.js 企业级 Web 服务器并非难事,只是必须做好几个关键事项这几件必须做好的关键事项就...

乌柏木66阅读 6.2k评论 16

再也不学AJAX了!(二)使用AJAX ① XMLHttpRequest
「再也不学 AJAX 了」是一个以 AJAX 为主题的系列文章,希望读者通过阅读本系列文章,能够对 AJAX 技术有更加深入的认识和理解,从此能够再也不用专门学习 AJAX。本篇文章为该系列的第二篇,最近更新于 2023 年 1...

libinfs39阅读 6.3k评论 12

封面图
从零搭建 Node.js 企业级 Web 服务器(一):接口与分层
分层规范从本章起,正式进入企业级 Web 服务器核心内容。通常,一块完整的业务逻辑是由视图层、控制层、服务层、模型层共同定义与实现的,如下图:从上至下,抽象层次逐渐加深。从下至上,业务细节逐渐清晰。视图...

乌柏木44阅读 7.4k评论 6

有趣的hello world

955 声望
618 粉丝
宣传栏