惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
云风的 BLOG
云风的 BLOG
人人都是产品经理
人人都是产品经理
T
The Blog of Author Tim Ferriss
阮一峰的网络日志
阮一峰的网络日志
罗磊的独立博客
J
Java Code Geeks
博客园 - 聂微东
B
Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
WordPress大学
WordPress大学
腾讯CDC
L
LangChain Blog
Apple Machine Learning Research
Apple Machine Learning Research
Microsoft Azure Blog
Microsoft Azure Blog
D
DataBreaches.Net
The GitHub Blog
The GitHub Blog
美团技术团队
博客园 - Franky
Google DeepMind News
Google DeepMind News
V
V2EX
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
月光博客
月光博客
The Cloudflare Blog

博客园 - 火冰·瓶

Cloudflare Tunnel 有两种模式 用 Cloudflare Tunnel 实现从外网 SSH 登录内网服务器 Cloudflare + .NET Core MVC 部署完整流程 net core 后端获取网络图片的扩展名 推荐好用的web控件 ubuntu运维 使用Frp+Caddy把https映射到内网的web服务 net core中结合EntityFrameworkCore的DB first使用PostgreSQL OneDrive中设置不同步某个文件夹 Action<T> 和 Func<T>的用法 EF Core经验 net core随记 asp.net core 记录页面访问次数,同一个IP一个小时只算一次 asp.net core 记录页面访问记录 asp.net core 发布到caddy asp.net core发布到Caddy获取用户的真实ip 统计文章阅读量,一小时内重复刷新的不重复统计 使用on()方法绑定事件,解决动态加载的元素事件绑定 鼠标悬停在图片上方时,显示文字
Framework 4.7老项目运行到caddy
火冰·瓶 · 2025-05-11 · via 博客园 - 火冰·瓶

渣渣小项目,一直用的iis,之前是每年一次免费证书,现在变成了每3个月一次,有点厌烦了,于是决定迁移到caddy

老的Framework 4.7项目运行还是要依赖iis,但是不想安装完整版的iis,可以安装简版的IIS Express

1.安装IIS Express

IIS Express下载地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=48264

安装以后直接运行命令:

"C:\Program Files (x86)\IIS Express\iisexpress.exe" /path:C:\wwwroot\yoursite   /port:8080

或者把IIS Express添加到系统变量中(path中增加:C:\Program Files (x86)\IIS Express),然后运行

iisexpress /path:C:\wwwroot\yoursite /port:8080

 以上方式适合简单的站点,如果需要更加灵活的配置IIS Express的站点,比如多个域名指向一个站点等,需要修改IIS Express的配置文件

IIS Express配置文件有两个,分别位于:

C:\Program Files (x86)\IIS Express\AppServer\applicationhost.config    默认配置文件,不建议修改

‪C:\Users\Administrator\Documents\IISExpress\config\applicationhost.config    用户配置文件,修改这个

 在<sites>节点中增加

            <site name="MyWebApp" id="2" serverAutoStart="true">
              <application path="/" applicationPool="Clr4IntegratedAppPool">
                <virtualDirectory path="/" physicalPath="C:\wwwroot\webapp路径" />
              </application>            
              <bindings>
                <binding protocol="http" bindingInformation="*:5056:manage.yuming1.net" />
                <binding protocol="http" bindingInformation="*:5056:manage.yuming2.com" />
              </bindings>
            </site>

其中   applicationPool="Clr4IntegratedAppPool"   是指定应用池,类似于iis中指定应用池。

然后通过命令启动站点:

iisexpress.exe  /site:MyWebApp   //多个站点就多次执行此命令

各个应用程序池的含义

  1. Clr4IntegratedAppPool

    • .NET 版本:v4.0

    • 管道模式:Integrated(集成模式)

    • 作用:适用于 ASP.NET 4.0 及以上 的应用,使用 IIS 集成模式处理请求。

  2. Clr4ClassicAppPool

    • .NET 版本:v4.0

    • 管道模式:Classic(经典模式)

    • 作用:适用于 ASP.NET 4.0 及以上 的应用,但使用传统的 IIS 处理方式(不集成到 IIS 管道)。

  3. Clr2IntegratedAppPool

    • .NET 版本:v2.0

    • 管道模式:Integrated(集成模式)

    • 作用:适用于 ASP.NET 2.0/3.5 的应用,使用 IIS 集成模式处理请求。

  4. Clr2ClassicAppPool

    • .NET 版本:v2.0

    • 管道模式:Classic(经典模式)

    • 作用:适用于 ASP.NET 2.0/3.5 的应用,但使用传统的 IIS 处理方式。

  5. UnmanagedClassicAppPool

    • .NET 版本:无(未托管)

    • 管道模式:Classic(经典模式)

    • 作用:用于 非 .NET 应用(如 PHP、静态 HTML 站点),不使用 .NET 运行时。

  6. IISExpressAppPool

    • .NET 版本:v4.0

    • 管道模式:Integrated(集成模式)

    • 作用:默认的 IIS Express 应用程序池,适用于 ASP.NET 4.0 及以上 的应用。

2.安装Framework 4.7运行环境

Framework 4.7下载地址  

https://dotnet.microsoft.com/zh-cn/download/dotnet-framework/thank-you/net47-offline-installer

3.在caddy中配置反向代理

xxx.yuming.com {
    reverse_proxy http://localhost:8080 {
        header_up X-Forwarded-For {remote_host}   #可选,服务端获取真实ip
        header_up X-Forwarded-Proto {scheme}      #可选,服务端获取真实协议   
    }
    encode zstd gzip      #可选,启用zstd和gzip压缩
}

4.配置caddy开机启动

可以使用计划任务

或注册表

注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

创建新的字符串值:

名称:Caddy

值:"C:\Program Files\Caddy\caddy.exe" run

或创建服务

cmd中运行

sc.exe create Caddy start= auto binPath= "C:\Program Files\Caddy\caddy.exe run"