目前有许多项目或web产品采用微软iis技术栈,即asp.net webform,asp.net core,asp.net mvc。虽然大多数C#开发的框架或平台是基于最新的.net 6编写,但在开发后部署到服务器时,一般使用IIS做为web服务器。当然c#也可以跨平台部署到Linux系统,c#部署到linux我们后面再讲,今天我们先讲一些如何在iis中部署c#项目并配置https访问。

IIS配置https说明

要在IIS上实现http请求自动转https请求,有很多方法可以在网上搜索到,我只介绍通过个人测试和成功的方法。这种方法是URL重写,需要做IIS实现一些扩展组件的安装。需要注意的是,低版本IIS我没有测试这种方法是否成功,所以建议确保该功能的成功实现IIS升到最新。

首先需要为IIS安装web平台安装工具扩展,它在IIS中类似于扩展包管理工具,安装好web平台安装工具以后,可以在上面看到各式各样的IIS扩展。当然,我们也可以直接下载相应的扩展包进行安装,下面贴上微软官网 IIS web平台安装工具下载页面 网络平台安装程序 : 微软 IIS 官方网站 (microsoft.com)。也可以从本站下载web平台安装工具 WebPlatformInstaller_x64_en-US.msi(密码:7831)

下载安装URL 重写

该工具目前为2.x版,微软官网直接下载页面地址 URL Rewrite : The Official Microsoft IIS Site (iis-umbraco.azurewebsites.net)。也可从本站下载URL 重写工具: IIS URL重写工具下载 (密码:7831),下载完成后直接双击msi安装文件开始安装。以下是安装过程中的一些截图。
iis web安装平台
iis 安装url重写步骤一

网址重定向

访问者输入浏览器时http://cisharp.com链接时,实现自动跳转https://cisharp.com。需要在web.config配置文件中进行URL重定写配置,配置内容如下

<system.webServer>
    <rewrite>
      <rules>
  <clear />
        <rule name="HTTP to HTTPS redirect" stopProcessing="true">
          <match url="(.*)" />
          <conditions>
            <add input="{HTTPS}" pattern="off" ignoreCase="true" />
          </conditions>
          <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
        </rule>
      </rules>
    </rewrite>
</system.webServer>

注意:上面的clear配置节点,不是必须添加。当您安装配置内容配置后若不能实现重定向,可以尝试添加clear节点试试

最后修改:2022 年 09 月 30 日
如果觉得我的文章对你有用,请随意赞赏