银河麒麟服务器v10 sp1 部署.Net6.0项目后无法访问静态文件

这篇具有很好参考价值的文章主要介绍了银河麒麟服务器v10 sp1 部署.Net6.0项目后无法访问静态文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

上一篇:银河麒麟服务器v10 sp1 部署.Net6.0 http https_csdn_aspnet的博客-CSDN博客

由于本人项目直接从.NetCore3.1升级到.Net6.0的,请参考文章:NetCore3.1项目升级到Net6.0_vs2022 没有startup_csdn_aspnet的博客-CSDN博客

虽然部署项目后,swagger与接口可以正常访问,但是静态文件,如html、css、js等不能正常访问,会提示404或服务不存在:

银河麒麟服务器v10 sp1 部署.Net6.0项目后无法访问静态文件,银河麒麟V10 SP1,Net6.0,银河麒麟V10 SP1,.Net6.0

于是开始翻找资料,终于找到相关问题的解决方法:

如果在Program.cs中使用以下代码进行开发时一切正常,

public static IHostBuilder CreateHostBuilder(string[] args) =>

  Host.CreateDefaultBuilder(args)

     .ConfigureWebHostDefaults(webBuilder =>

     {

        webBuilder.UseStartup<Startup>();

     });

然后,我在Ubuntu示例上对Kestrel使用以下代码:

public static IHostBuilder CreateHostBuilder(string[] args) =>

  Host.CreateDefaultBuilder(args)

    .ConfigureWebHostDefaults(webBuilder =>

       {

          webBuilder.UseKestrel()

            .UseContentRoot(Directory.GetCurrentDirectory())

            .UseUrls("http://*:5000")

            .UseStartup<Startup>();

       });

看上面代码是NetCore3.1之前的用法,照着代码直接改造自己的:

银河麒麟服务器v10 sp1 部署.Net6.0项目后无法访问静态文件,银河麒麟V10 SP1,Net6.0,银河麒麟V10 SP1,.Net6.0

重新启动dotnet6.service,请参考:

银河麒麟服务器V10 SP1 .Net6.0 开机自动启动_csdn_aspnet的博客-CSDN博客

刷新访问静态页面地址,依然不能访问,于是将上面图片红框中代码挨个注释测试,都没有成功。

于是想到是不是我单独配置Kestrel问题:

银河麒麟服务器v10 sp1 部署.Net6.0项目后无法访问静态文件,银河麒麟V10 SP1,Net6.0,银河麒麟V10 SP1,.Net6.0

Kestrel文档 :

json内容:

{
  "Kestrel": {
    "Endpoints": {
      "Http": {
        "Url": "http://localhost:5000"
      },
      "HttpsInlineCertFile": {
        "Url": "https://localhost:5001",
        "Certificate": {
          "Path": "<path to .pfx file>",
          "Password": "<certificate password>"
        }
      },
      "HttpsInlineCertStore": {
        "Url": "https://localhost:5002",
        "Certificate": {
          "Subject": "<subject; required>",
          "Store": "<certificate store; required>",
          "Location": "<location; defaults to CurrentUser>",
          "AllowInvalid": "<true or false; defaults to false>"
        }
      },
      "HttpsDefaultCert": {
        "Url": "https://localhost:5003"
      },
      "Https": {
        "Url": "https://*:5004",
        "Certificate": {
          "Path": "<path to .pfx file>",
          "Password": "<certificate password>"
        }
      }
    },
    "Certificates": {
      "Default": {
        "Path": "<path to .pfx file>",
        "Password": "<certificate password>"
      }
    }
  }
}

在Program.cs中读取Kestrel后面加上: .UseContentRoot(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "wwwroot"));

银河麒麟服务器v10 sp1 部署.Net6.0项目后无法访问静态文件,银河麒麟V10 SP1,Net6.0,银河麒麟V10 SP1,.Net6.0

 重新部署项目,重新启动dotnet6.service,在访问静态页面地址即可成功:

银河麒麟服务器v10 sp1 部署.Net6.0项目后无法访问静态文件,银河麒麟V10 SP1,Net6.0,银河麒麟V10 SP1,.Net6.0文章来源地址https://www.toymoban.com/news/detail-526133.html

到了这里,关于银河麒麟服务器v10 sp1 部署.Net6.0项目后无法访问静态文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 银河麒麟服务器v10 sp1 安装 redis

    1、下载redis安装包 https://download.redis.io/releases/ 本文下载redis-7.0.11.tar.gz包,请按照自己需求下载相应文件。 2、将下载后的.tar.gz压缩包上传到到服务器自定义文件夹下 本人上传为系统的下载文件夹下,可以直接上传至指定目录下: 使用cp复制文件到指定目录下:  root@xxx-pc:

    2024年02月12日
    浏览(60)
  • 银河麒麟高级服务器v10 sp1 iso镜像定制

    https://www.kylinos.cn/support/trial.html?pid=1        安装选择最小化安装 1 虚拟机下挂载原版镜像 1) 查看光盘是否已挂载 ls -l /dev/cdrom |grep cd 2) 将ISO所在的/dev/cdrom挂载到/media mount /dev/cdrom /media 2 安装制作发行版的工具 yum -y install createrepo mkisofs isomd5sum rsync 3 同步光盘文件到制作ISO的

    2024年02月06日
    浏览(52)
  • 银河麒麟服务器操作系统 V10 SP1 开启SSH服务

    此处显示已经安装了openssh。 如果此处没有任何输出显示,表示没有安装openssh 当发现没有安装openssh时,使下面的命令安装openssh: 如图所示,已经开启sshd服务。 如果显示未开启sshd服务,使用下列命令开启sshd服务 使用下面的命令查看ssh服务是否开机启动 如上图所示,ssh已经

    2023年04月22日
    浏览(54)
  • 银河麒麟服务器 v10 sp1 安装 .Net6.0

    系统版本、架构:  如果系统自带.netcore3,先卸载系统自带的.netcore3:  卸载.netcore3: 我的系统没有自带.netcore3,也没有yum命令。 下载二进制文件安装SDK: 下载 .NET 6.0 (Linux、macOS 和 Windows) 下载后将文件dotnet-sdk-6.0.411-linux-x64.tar.gz,上传至银河麒麟服务器: 我的第一步给文

    2024年02月12日
    浏览(78)
  • 银河麒麟服务器v10 sp1 .Net6.0 上传文件错误

    上一篇:银河麒麟服务器v10 sp1 部署.Net6.0 http https_csdn_aspnet的博客-CSDN博客 .NET 6之前,在Linux服务器上安装 libgdiplus 即可解决,libgdiplus是System.Drawing.Common原生端跨平台实现的主要提供者,是开源mono项目。地址:GitHub - mono/libgdiplus: C-based implementation of the GDI+ API 因此,解决方法

    2024年02月12日
    浏览(42)
  • 银河麒麟V10SP1服务器系统同步外网源到本地

    系统环境:Kylin Linux Advanced Server release V10(SP1)/(Tercel)-aarch64-Build20/20210518 本文同步的是外网ARM的yum源仓库,若需要同步X86的yum源仓库,则需要修改yum配置文件的架构为X86,其他配置不变。 a)确定系统版本及网络情况 b)关闭系统防火墙和 selinux a)备份原yum配置文件 b)yum配

    2024年01月24日
    浏览(113)
  • 银河麒麟服务器操作系统 V10 SP1 防火墙(firewalld)指令

    systemctl status firewalld (或者: systemctl status firewalld.service ,或者: systemctl is-active firewalld )active(running):表示防火墙已经开启。 1、开启: systemctl start firewalld 查看状态: systemctl status firewalld 2、关闭: systemctl stop firewalld 查看状态: systemctl status firewalld 3、重启: systemc

    2024年02月13日
    浏览(73)
  • 银河麒麟服务器V10SP1双内核更改低版本内核为第一引导项

    需要保留新内核的情况下使操作系统在下次启动默认加载的是旧内核。 1.1 UEFI传统的Legacy BIOS启动 grub引导文件路径不一致,先需要查看系统是UEFI启动还是传统的Legacy BIOS启动

    2024年02月03日
    浏览(54)
  • 银河麒麟V10SP1高级服务器版本离线RPM方式安装nginx实战实例全网唯一

    先同步一下当前的系统时间 本次安装需要升级操作系统perl升级包以及nigx安装包2类包 1、建立2个下载包的文件夹来下载离线安装包 如果小伙伴们再生产环境安装部署没有公网可以用,可以直接去我的CSDN的下载资源直接去下载安装包上传的服务器即可 2、获取下载perl离线安装

    2024年02月05日
    浏览(96)
  • 远程连接银河麒麟高级服务器操作系统V10SP1的几种方法(命令行远程+图形化远程)

    服务端 OS环境:银河麒麟高级服务器操作系统V10SP1(x86_64) 确认sshd服务处于运行状态 [root@localhost ~]# systemctl status sshd 确认防火墙已经放行SSH服务 [root@localhost ~]# firewall-cmd --list-all 备注:如果系统没有放行ssh服务,或者ssh端口号被修改,则需要重新放行ssh服务或者新的ssh端口

    2024年02月09日
    浏览(207)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包