标签: iis

  • IIS部署ASP.NET Core报错:HTTP Error 500.38 – Failed to locate ASP.NET Core app

    在使用IIS部署ASP.NET Core程序时,遇到报错,错误信息如下 :HTTP Error 500.38 – Failed to locate ASP.NET Core app

    经过一番搜索,在微软官方网站中找到了错误原因,网站如下:https://learn.microsoft.com/zh-cn/aspnet/core/test/troubleshoot-azure-iis?view=aspnetcore-7.0

    在这个排查页面上可以看到,这个错误是未禁用单文件发布导致的,那么,我们只要在项目文件中禁用单文件发布就行了。

    解决:在IIS部署时,禁用单文件发布。编辑xxx.csproj项目文件(xxx是你的项目名字),把PublishSingleFile这一项改为false,如果没有,直接添加下面的代码即可。

    <PublishSingleFile>false</PublishSingleFile>	

    如果使用VS的发布,要在发布选项中去掉单文件发布选项的钩:

  • nginx反代iis 支持泛域名,支持WordPress多站点

    nginx配置:

    upstream qd-aliyun-8006 {
        server x.x.x.x:8006;
    }
    
    server {
        listen 80;
        server_name softc.cc *.softc.cc;
    
        location / {
            proxy_pass http://qd-aliyun-8006;
            proxy_redirect default;
    
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Real-Port $remote_port;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Port  $server_port;
            proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr;
        }
    }
    

    注意是要有 proxy_set_header Host $host; 这一行。

  • IIS MIME MP4

    .mp4

    application/octet-stream

  • videojs播放视频报错:a network error caused the media download to fail part-way

    在用VS调试网页时,用videojs播放视频有时出现:a network error caused the media download to fail part-way

    解决办法:不要用VS自带的IIS Express,换成系统自带的IIS就行了。

  • IIS上跑PHP,遭遇上传权限问题

    其实这个问题不关IIS以及PHP什么事,是我的权限没设置好。

    在使用PHP上传文件时,一直报错,错误信息如下:

    PHP Warning: move_uploaded_file(): Unable to move ‘C:\Windows\Temp…

    一开始以为是C:\Windows\Temp的权限问题,结果加上IUSR,并给予所有权限后,还是不行。

    然后又给uploads文件夹给IUSR账户所有权限,结果还是不行。

    最后在uploads文件上给IIS_IUSERS账户加上所有权限后,问题解决。

    总结:

    问题的主要原因是我没有弄清楚IIS的两个账户分别是什么意思,关于IUSR和IIS_IUSER的区别。

    简单查了一下,知道 IUSR is part of IIS_IUSER group

  • IIS服务器遭遇用户上传图片后,显示无权访问的问题

    IIS服务器遭遇用户上传图片后,显示无权访问的问题,错误信息如下:

    HTTP 错误 401.3 – Unauthorized
    由于 Web 服务器上此资源的访问控制列表(ACL)配置或加密设置,您无权查看此目录或页面

    解决办法:

    1、打开站点的身份验证

    2、在匿名身份验证上点右键菜单,然后点编辑 

    3、把匿名用户标识改为“应用程序池标识“

    最后点击确定并重启站点后OK(没有测试不重启站点的情况下是不是也可以生效)

  • IIS运行PHP,设置出错时显示PHP错误,而不是报500

    1、点击对应的网站,进入“错误页”

    2、点击“编辑功能设置”

    3、把错误响应改为“详细错误”