对于一个看似简单的问题,我很难找到答案。
我有两个问题:
-
我可以让我的微小gRPC应用程序运行在端口
http:localhost:5000
或https:localhost:5001
在我的开发盒没有问题。当我进入launchSettings.json
并删除http:localhost:5000时,它按预期的那样做,只监听端口5001。一切都按预期进行。我的应用程序是直接剽窃的样本位于这里(https://learn.microsoft.com/en-us/dotnet/architecture/cloud-native/grpc),所以没有必要张贴任何代码。我只是简单地遵循教程。 -
当我将它部署到Ubuntu 20.04系统时,无论我在发布的应用程序内容中有什么,它只有侦听端口5000。最重要的是,我想监听端口30000。我已经在ufw中打开了该端口(以及5000和5001)。我的客户无法连接。我想把应用程序的URL设置为https://some.fqdn.com:30000,但是我不能让它监听任何其他端口,除了5000,我甚至不能完成这个问题。
我已经看腻了:
info: Microsoft.Hosting。寿命[0]
现在收听:http://localhost:5000!!
如何让asp.net grpc侦听面向公共网络URL上的自定义端口?
一旦你偶然发现了第一百万次谷歌搜索,这就很容易了…
我在我的应用设置中添加了以下内容。json文件:
"Kestrel": {
"EndPoints": {
"Https": {
"Url": "https://some.fqdn.com:30000"
}
},
"EndpointDefaults": {
"Protocols": "Http2"
}
}
现在,我只需要找到一个如何保护客户端和服务器之间连接的端到端示例,我将是黄金!