.netcore 应用程序 wwwroot 之外的静态文件

2024-02-24

我在用着https://github.com/ebekker/ACMESharp https://github.com/ebekker/ACMESharp在我的 @home 网络服务器上使用 SSL(它是免费的!:O)。这是相当手动的,但注意到在维基上它提到了另一个项目https://github.com/Lone-Coder/letsencrypt-win-simple https://github.com/Lone-Coder/letsencrypt-win-simple这是一个 GUI,用于自动申请、下载 SSL 证书并将其安装到您的 Web 服务器。

GUI 用于验证域是否属于您的方法是创建一个随机命名的文件,其中包含随机文本字符串[webroot]/.well-known/[randomFile]不带扩展名。当 .dotnetcore 应用程序在此 [webroot] 上运行时,即使按照在 IIS 下更改“处理程序映射”的说明进行操作,我也无法提供该文件。

看来我可以通过直接导航到文件来提供文件[webRoot]/wwwroot/[whatever]-那我为什么不能进去[webroot]/.well-known/[randomFile]?

有人知道解决这个问题的方法吗?我可以删除 .netcore 应用程序,然后运行 ​​SSL 证书安装,但此安装需要每 2-3 个月进行一次,而且由于它是手动的,我更愿意弄清楚如何以正确的方式进行安装。


我在这里找到了我需要的信息:https://docs.asp.net/en/latest/fundamentals/static-files.html https://docs.asp.net/en/latest/fundamentals/static-files.html

基本上在我的 Startup.cs 中我需要改变这一点:

        // allows for the direct browsing of files within the wwwroot folder
        app.UseStaticFiles();

        // MVC routes
        app.UseMvc(routes => 
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
        });

to this:

        // allows for the direct browsing of files within the wwwroot folder
        app.UseStaticFiles();

        // Allow static files within the .well-known directory to allow for automatic SSL renewal
        app.UseStaticFiles(new StaticFileOptions()
        {
            ServeUnknownFileTypes = true, // this was needed as IIS would not serve extensionless URLs from the directory without it
            FileProvider = new PhysicalFileProvider(
                    Path.Combine(Directory.GetCurrentDirectory(), @".well-known")),
            RequestPath = new PathString("/.well-known")
        });

        // MVC routes
        app.UseMvc(routes => 
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
        });

编辑 - 请注意,这个目录“.well-known”仅在Web服务器上创建,当我在本地再次开始开发时,我收到错误,因为“.well-known”目录不存在。所以现在我的项目中只有一个空目录,但至少我的 SSL 续订是自动化的! :D

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.netcore 应用程序 wwwroot 之外的静态文件 的相关文章

随机推荐

  • sympy 将分数与变量分开

    使用 sympy 如何将分数与变量分开 Mul Fraction 3 5 Pow K Integer 2 2 3 K 5 to 3 2 K 5 我知道这个简化版本还不错 但是当我有很大的方程时 它会变得混乱 我不太熟悉漂亮的打印或 LaTe
  • Maven 过滤

    我正在使用 Maven 3 x 在 Hudson 中构建 Android 应用程序 作为构建的一部分 我使用过滤 配置文件对 strings xml 文件进行文本替换 因此 在 strings xml 中 我将包含以下条目
  • 3D 绘图中 y 轴和 z 轴的交换位置

    默认情况下 在 3D 中绘制一组点 或其他内容 matplotlib 找到z垂直轴 如下所示 代码如下 我需要交换z and y轴 使得y轴垂直显示 我环顾四周但找不到办法告诉matplotlib去做这个 Add 我不想诉诸于交换数据和标签
  • 好友列表:关系数据库表设计

    所以 好友列表的现代概念是 假设我们有一个名为 Person 的表 现在 该 Person 需要有许多好友 其中每个好友也属于 person 类 构建关系最明显的方法是通过连接表 IE buddyID person1 id person2
  • Shiny布局,是否可以在Shiny中拥有左侧和骑侧边栏布局?

    在 Shiny 中可以有这样的布局吗 我理想地想要一个左侧和右侧边栏 我已经看到了一些解决方案shinydashboardPlus但这不正是我所追求的 我有一个与此示例结构类似的应用程序 mychoices lt c pick me A p
  • 如何在此处的集群地图中显示重复的制造商

    我在这里使用地图并使用聚类 但我在显示坐标相同 dublicate 的制造商时遇到问题 当我放大聚类时 不幸的是 制造商不可见 但聚类仍然可见 当集群缩放时如何显示这些标记 我的集群选项如下 var clusteredDataProvide
  • 使用 Rails5 和 ActionCable 时不允许请求来源:http://localhost:3001

    Rails 5 0 0 beta2 中尝试使用 ActionCable 的应用程序出现服务器问题 使用 localhost 3000 效果很好 因为这是大多数 ActionCable 的默认设置 但是如果我尝试在端口 3001 上运行 Ra
  • 有没有办法在 Azure DevOps 中创建组织仪表板?

    我们的团队目前正在使用 DevOps 并对一切的运行情况感到非常满意 我们在每个项目中设置了仪表板来跟踪工作项和冲刺 并希望在组织级别执行相同的操作 有没有办法创建组织中多个项目的总体概述 不幸的是 我们无法创建组织级别的仪表板 它不受支持
  • 将颜色从 Javascript 传递到片段着色器

    我目前正在学习webgl 有一个问题 我正在尝试制作一个三角形并将颜色信息从 js 文件传递 到片段着色器中 以下是我的js代码 var VSHADER SOURCE attribute vec4 a Position n attribut
  • Python - 通常如何使用递归方法将实例变量作为隐式参数传递给方法

    我在将对象的实例变量传递给实例方法时遇到问题 我在其他地方搜索过这个 但我一直找到的只是有关如何使用对象将对象传递给方法的信息self 我已经知道了 或者只是关于类和实例方法之间的一般差异的教程 但没有具体回答我的问题 我的问题的答案肯定存
  • CMake graphviz 自动生成

    我知道通过 CLI 生成 CMake 项目依赖关系图的常用方法 cmake graphviz file 但是有没有一种方法可以通过在 CMakeList 中设置标志或命令来自动生成它 这个想法是让 CMakeLists txt 本身触发图形
  • PHP递归函数返回值[重复]

    这个问题在这里已经有答案了 我在 PHP 中编写了一个递归函数来裁剪文本 裁剪后的文本将 附加到末尾 未裁剪的文本将以其原始状态返回 如果文本适合最大宽度 则该方法有效 但是 如果它不适合给定的宽度 该函数将不会返回值 但它应该返回 看来整
  • 更改默认拨号器的请求在某些设备上不显示系统对话框

    我们的应用程序需要成为默认拨号器应用程序 也称为 默认电话处理程序 默认呼叫应用程序 以便它能够在 Android 下拨打电话新的权限策略 https support google com googleplay android develo
  • 使用 Spring Hibernate 使用注释编写更少的 DAO

    我的 Spring Hibernate 配置文件很小而且非常紧凑 我使用自动扫描来查找我的模型实体 DAOS 我不想为层次结构中的每个实体编写 DAO DAOImpl 有些可能有资格拥有自己的 例如 如果他们与其他实体有复杂的关系并且需要的
  • ruby中使用数组进行数据库查询

    我正在尝试查找数组中具有值的所有行 这是我的代码 require sqlite3 db SQLite3 Database new test sqlite res db query SELECT w1 synsetid FROM words
  • 左、中、右对齐同一行底部的 div

    我想在同一行显示三个 div 这三个都有不同的宽度和高度 并且它们不是直文本 我想左对齐一个 一直到左边 右对齐另一个 一直到右边 然后将第三个居中 在包含 div 的中间 在本例中是整个页面 此外 我希望这三个 div 与包含的 div
  • 修复错误mysql服务器已经消失[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我的 VPS 经常出现故障 MySQL 服务器已消失 错误 2006 并失去连接 我增加了 my cnf 中变量的值 但情况没有改善 这是我的 cnf
  • 静默 /dev/tcp/host/port 重定向错误

    以下脚本将测试从 8079 到 8081 的 tcp 端口是否打开或关闭 for port in 8079 8081 do echo gt dev tcp 127 0 0 1 port echo port port is open echo
  • 对齐双轴刻度时出现问题

    我创建了一个有 2 个 y 轴的 matplotlib 图 y 轴有不同的比例 但我希望刻度线和网格对齐 我从 Excel 文件中提取数据 因此无法事先知道最大限制 creates double y axis ax2 ax1 twinx l
  • .netcore 应用程序 wwwroot 之外的静态文件

    我在用着https github com ebekker ACMESharp https github com ebekker ACMESharp在我的 home 网络服务器上使用 SSL 它是免费的 O 这是相当手动的 但注意到在维基上它