kestrel虚拟服务器,如何使Kestrel Web服务器监听非本地主机的请求?
小编典典
Kestrel服务器使用的默认配置文件是hosting.json。在不同的beta版本中,名称多次更改。如果您现在project.json使用以下"command"部分
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel"
}
然后在从命令行启动服务器的过程中
dnx web
该文件hosting.json将被读取。文件
{
"server.urls": "http://0.0.0.0:5000"
}
将配置服务器在每个IP4地址上侦听5000。配置
{
"server.urls": "http://::5000;http://0.0.0.0:5000"
}
将通知在IP4和IP6地址上侦听5000。
可以通过使用ASPNET_ENV环境变量或--config
myconfig1.json(或config=myconfig1.json)的使用来指定备用配置文件。例如,您可以使用
SET ASPNET_ENV=Development
并创建hosting.Development.json具有特定配置的文件。或者,您可以project.json与
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel"
"webProd": "Microsoft.AspNet.Server.Kestrel --config prod.json"
}
并按使用量启动服务器
dnx webProd
我还必须提醒您,可能需要您允许另外收听和注册(开始dnx web)。由于防火墙和侦听新的TCP /
HTTP端口的本地安全性,因此需要它。如下所示,应该为每个人(IPv4和IPv6)进行本地注册和侦听5000端口:
netsh http add iplisten ipaddress=0.0.0.0:5000
netsh http add iplisten ipaddress=::5000
netsh http add urlacl url=http://+:5000/ user=\Everyone
为了更加安全,您可以调整上述配置以授予最少的权限。
更新: 谢谢@BlaneBunderson。可以使用代替IP地址(例如http://*:5000)来监听来自任何接口的任何*
IP4和IP6地址。一个应该小心,不要使用这些
http://*:5000;http://::5000
http://::5000;http://*:5000
http://*:5000;http://0.0.0.0:5000
http://*:5000;http://0.0.0.0:5000
因为它将需要 两次 注册IP6地址::或IP4地址。0.0.0.0 __
对应于公告
从技术上讲,任何不是“ localhost”或有效IPv4或IPv6地址的主机名都将导致Kestrel绑定到所有网络接口。
我认为这种行为将来可能会改变。因此,我建议只使用*:5000,0.0.0.0:5000并::5000构成对任何IT地址的注册。
更新2: ASP.NET Core
RC2更改了加载默认值的行为(请参见声明)。必须更改Main才能从中加载设置hosting.json和命令行参数。以下是用法示例
public static void Main(string[] args)
{
var config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("hosting.json", optional: true)
.AddEnvironmentVariables(prefix: "ASPNETCORE_")
.AddCommandLine(args)
.Build();
var host = new WebHostBuilder()
.UseUrls("http://*:1000", "https://*:1234", "http://0.0.0.0:5000")
.UseEnvironment("Development")
.UseConfiguration(config)
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup()
.Build();
host.Run();
}
上面的代码使用了三个绑定:"http://*:1000","https://*:1234","http://0.0.0.0:5000"在默认情况下,而不是在默认情况下使用默认端口5000(准确地说的使用http://localhost:5000)。的呼叫.UseConfiguration(config)是在
之后
发出的.UseUrls。因此,hosting.json从命令行加载的配置或命令行将覆盖默认选项。如果有.SetBasePath(Directory.GetCurrentDirectory())一行删除行,hosting.json则将从将编译应用程序dll的目录下加载该目录(例如bin\Debug\netcoreapp1.0)。
一个人可以像这样使用执行
dotnet.exe run --server.urls=http://0.0.0.0:5000
覆盖默认设置(from UseUrls)和from "server.urls"属性的设置(hosting.json如果存在)。
以相同的方式,可以通过设置环境变量来覆盖ULR设置
set ASPNETCORE_SERVER.URLS=http://localhost:12541/
然后使用的应用程序的默认启动dotnet.exe run将http://localhost:12541/用于绑定。
您可以在此处找到HTTPS绑定用法的示例。
备注:
在ASP.NET的更高版本中,环境变量的名称从更改ASPNETCORE_SERVER.URLS为ASPNETCORE_URLS(请参阅此处的ASP.NET Core 3.1文档)。
2020-05-19
kestrel虚拟服务器,如何使Kestrel Web服务器监听非本地主机的请求?相关推荐
- 学习ASP.NET Core, 怎能不了解请求处理管道[3]: 自定义一个服务器感受一下管道是如何监听、接收和响应请求的...
学习ASP.NET Core, 怎能不了解请求处理管道[3]: 自定义一个服务器感受一下管道是如何监听.接收和响应请求的 原文:学习ASP.NET Core, 怎能不了解请求处理管道[3]: 自定义一 ...
- 鸟哥的服务器《十三》Web服务器
1. 客户端访问Web服务器的几个阶段 客户端向服务器发出Web请求 Web 服务器与客户端机那里连接 服务器找到文档传回客户端 资源通过浏览器解释并显示在屏幕上 2. HTTP报文详解 HTTP报文 ...
- web服务器设置文档,web服务器设置
web服务器设置 内容精选 换一换 防护域名开启WEB基础防护之后,访问网站如果出现500,502,504等报错,并且显示Web应用防火墙和网站连接失败,如图1所示.可能的原因比较多,如防火墙拦截.源 ...
- web服务器是什么?web服务器有哪些
web服务器是什么? web服务器一般指网站服务器,也称为WWW服务器,是目前 Internet 上最重要的服务,它采用 C/S 结构web服务器的作用就是向浏览器等Web客户端提供文档,放置网站文件 ...
- 网站服务器安全检测报告,WEB服务器安全自查报告.doc
WEB服务器安全自查报告 WEB服务器安全自查报告 一.操作系统安全配置报告 1.停掉Guest 帐号 在计算机管理的用户里面把guest帐号停用掉,任何时候都不允许guest帐号登陆系统. 2.限制 ...
- web虚拟服务器4核32g,Web服务器配备四核的优势
Web服务器配备四核的优势 Web服务器配备四核的优势 前文说到,Web服务器最关键的性能需求在网络带宽与处理性能. 对于赢利性质的网站来说,企业接入了更高的带宽以保障网站访问速度,出于用户体验角度的 ...
- web服务器tomcat_扩展Tomcat Web服务器的功能
在你开始前 了解对本教程的期望以及如何最大程度地利用本教程. 关于本教程 如果您正在学习本教程,则可能已经安装了现有的Apache Tomcat基本独立Web服务器. 如果没有,请首先阅读上一个教程& ...
- 什么是WEB服务器? 常用的WEB服务器有哪些?
一.什么是WEB服务器 Web服务器可以解析HTTP协议.当Web服务器接收到一个HTTP请求,会返回一个HTTP响应,例如送回一个HTML页面.为了处理一个请求Web服务器可以响应一个静态页面或图片 ...
- 嵌入式转linux服务器,嵌入式linux下web服务器搭建
一.移植编译生成boa二进制文件 Boa是一种非常小巧的Web服务器,其可执行代码只有大约60KB左右.作为一种单任务Web服务器,Boa只能依次完成用户的请求,而不会fork出新的进程来处理并发连接 ...
最新文章
- 计算机视觉 | 图像描述与注意力机制
- Oracle集合操作函数:Union、Union All、Intersect、Minus
- 四层负载均衡——LVS
- 3、excel数据格式设置快捷键
- 移动开发Html 5前端性能优化指南
- SAP Spartacus OCC 请求头部的 Access Token 是如何被添加的
- python计算PR曲线sklearn.metrics.precision_recall_curve
- vue安装jsencrypt_vue使用JSEncrypt实现rsa加密及挂载方法
- PHP Zend Studio9.0怎么把代码搞成和服务器端的同步(就是直接在服务器端修改)
- Python 制作动态图表,看全球疫情变化趋势
- laravel 5.2 异常处理页面
- wait放弃对象锁_121、抽象类和接口使用场合;wait和sleep
- vue视频教程大全下载
- JS 特效代码 400例
- Win7 安装 -- SHSUCDX can’t install 问题解决
- python实现批量下载视频_python批量下载抖音视频
- 将第二台笔记本电脑用作带有Windows 10无线显示器的扩展显示器
- 新文件泄露更多NSA卫星监听站的信息
- 体系结构学习11-VLIW处理器
- 激活数字经济澎湃动能
热门文章
- Windows常见事件ID
- FFmpeg进阶:音视频滤镜概述
- 剑灵服务器延迟时间在哪看,剑灵怎么看延迟,剑灵怎么看延迟?剑灵游戏看延迟通用方法...
- 安卓期末大作业——Android小说阅读器
- 安装和使用IBM PowerVP和IBM AIX
- mysql locate不走索引_面试--mysql的模糊查询优化、like、locate、position、instr、find_in_set...
- 剑魂之刃服务器维护,剑魂之刃全服合服停机维护预告
- 多edittext监听变化的优化
- Jacob操作Word文档转换-XXOO
- html多媒体效果怎么使用,HTML多媒体标签video、audio、marquee详细讲解