IIS、web.config、asp.net 301重定向 2020年10月22日 IIS ## IIS 设置 在iis设置里一个HTTP重定向的设置  1、在请求重定向到此目标的输入框里填写上要重定向的网址 2、勾选重定向行为,选择状态代码为永久(301) 3、点击应用 ## Web.config 设置 ```xml <system.webServer> ..... <httpRedirect enabled="true" destination="https://www.baidu.com" exactDestination="true" httpResponseStatus="Permanent" /> </system.webServer> ``` ## 程序跳转 ```csharp //global.asax private void Application_BeginRequest(object sender, EventArgs e) { ....... Response.Clear(); Response.StatusCode = 301; Response.Status = "301 MovedPermanently"; Response.AddHeader("Location", "https://www.baidu.com"); Response.End(); } ``` 如果是asp.net项目,可以在`global.asax`文件里面`Application_BeginRequest`函数里用以上代码实现301重定向,不过要小心**循环重定向**。
Net Core 部署到 Windows IIS7 2020年10月22日 服务器 IIS NetCore [TOC] ## 概述 由于ASP.NET Core 不在是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,在Windwos上IIS只是作为一个反向代理的角色,将请求转发到Kestrel不同的端口的ASP.NET Core程序中去。所以需要AspNetCoreModule 托管模块(下载见文末),请求进入到IIS之后便是由它进行转发。 ## 一、安装IIS  ## 二、发布项目 1、右键NET Core项目,选择发布,可以发布到FTP,也可以发布到文件夹  2、部署模式分为框架依赖和独立两种模式,选择独立,就需要确定运行的系统是运行时。如果一台服务器有多个NET Core应用,建议用框架依赖模式。独立模式会讲NET Core需要的相关文件都复制一份。配置完成后,保存发布即可。  ## 三、在IIS中添加网站 1. 添加一个网站,设置名称,并将路径指向你刚才发布的文件夹  2. 将对应站点的应用程序池的.NET CLR 版本改为“无托管代码”  3. 设置应用程序池 => 高级设置 => 进程模型 => 加载用户配置文件 > 如果不设置为True,那每次重启应用都会让Cookie失效,原因是生成Cookie的密钥,不设置为True,会保存在内存中,每次重启都会失效。  ## 写在最后 通过以上步骤,就能将.NET Core应用部署到Windows上了。其实也不通过AspNetCoreModule 托管模块,而是通过[Windows部署Nodejs](//blog.animebz.com/15116231592664.html)应用时用到的IIS反向代理的功能去访问。 ## 下载 [AspNetCoreModule 托管模块](https://go.microsoft.com/fwlink/?linkid=844461) [Net Core 数据保护](https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.1&tabs=aspnetcore2x#data-protection) [.net core 不同版本下载](https://dotnet.microsoft.com/download/dotnet-core)
IIS上传限制;Jquery接收跨域Cookie设置 2020年10月22日 IIS Javascript [TOC] ### ASP.NET MVC IIS上传限制,404错误 1. 修改httpRuntime 节点 ```xml <configuration> <system.web> <compilation debug="true" targetFramework="4.5" /> <!--maxRequestLength就是文件的最大字符数,最大值不能超过2个G左右,executionTimeout是超时时间--> <httpRuntime targetFramework="4.5" maxRequestLength="1073741824" executionTimeout="3600" /> </system.web> </configuration> ``` 2. 修改system.webServer节点 ```xml <system.webServer> <security> <requestFiltering> <!--修改服务器允许最大长度--> <requestLimits maxAllowedContentLength="1073741824"/> </requestFiltering> </security> </system.webServer> ``` ### Jquery接收跨域Cookie设置 ```javascript $.ajax({ url: '', // 跨域 xhrFields:{ withCredentials: true }, // 接收和发送凭据 dataType: 'json', type: 'post', data: {'name':'fdipzone'}, success:function(ret){ } }); ```