使用IIS在自定义域上部署ASP.NET核心终结点

yjghlzjz  于 2022-11-12  发布在  .NET
关注(0)|答案(1)|浏览(237)

"有一个小小的演示“

控制器:

public class CrotolamoController : ControllerBase
    {
        [HttpPost]
        [Route("/")]
        public async Task<String> test()
        {
            return "hello world";
        }
    }

启动设置.json:

{
  "$schema": "https://json.schemastore.org/launchsettings.json",
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "https://www.crotolamo.com",
      "sslPort": 443
    }
  },
  "profiles": {
    "Test": {
      "commandName": "Project",
      "launchBrowser": true,
      "applicationUrl": "https://www.crotolamo.com",
      "sslPort": 443,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

在Visual Studio上正确部署,但不幸的是Postman无法向其发送HTTP POST请求
错误:未找到获取地址信息www.crotolamo.com
使用IIS和Windows Server 2019部署应用程序时会发生相同的错误。使用以下配置:
装订:

  • 类型:https
  • IP地址:全部未分配
  • 连接埠:443
  • 主机名www.crotolamo.com
  • SSL证书:IIS Express开发证书

错误是相同的。

问题

唯一的工作方式是使用localhost。我如何改变我的配置,使用这个自定义域而不是localhost?任何帮助将不胜感激。
"我尝试过但没有成功"
将该行添加到Windows 10开发计算机上的hosts文件中
127.0.0.1 :

6ss1mwsb

6ss1mwsb1#

用户Lex Li给了我一个解决方案的提示:通过以下更改,现在可以从开发计算机中的浏览器或Postman浏览在自定义域上运行的Visual Studio 2022项目。

启动设置.json

{
  "$schema": "https://json.schemastore.org/launchsettings.json",
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "https://www.crotolamo.com",
      "sslPort": 443
    }
  },
  "profiles": {
    "Chostomo": {
      "commandName": "Project",
      "launchBrowser": true,
      "applicationUrl": "https://www.crotolamo.com",
      "sslPort": 443,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

在主机文件中,添加以下行:

  • 127.0.0.1crotolamo.com
  • 127.0.0.1:
    然后编辑文件

.vs\yor项目\配置\应用程序主机.配置

原件

<site name="WebSite1" id="1" serverAutoStart="true">
                <application path="/">
                    <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
                </application>
                <bindings>
                    <binding protocol="http" bindingInformation=":8080:localhost" />
                </bindings>
            </site>

已更改

<site name="WebSite1" id="1" serverAutoStart="true">
        <application path="/">
            <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation=":8080:localhost" />
            <binding protocol="https" bindingInformation="*:443:" />
        </bindings>
    </site>

在Windows Server 2019上的IIS上的更改仍有待实施,将相应地编辑帖子。

相关问题