c# - 部署的 gRPC 应用程序将仅使用端口 5000 - 需要它来监听端口 https://asdf.com:30000
问题描述
我很难为一个看似简单的问题找到答案。
我有两个问题:
我可以让我的小型 gRPC 应用程序在我的开发盒上的端口 http:localhost:5000 或 https:localhost:5001 上运行而不会出现问题。当我进入 launchSettings.json 并删除 http:localhost:5000 时,它会按预期工作,并且只侦听端口 5001。一切都按预期工作。我的应用程序直接抄袭了位于此处的示例 ( https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/grpc ),因此无需发布任何代码。我只是按照教程进行操作。
当我将它部署到 Ubuntu 20.04 系统时,无论我在发布的应用程序内容中有什么,它都只监听端口 5000。最重要的是,我想监听端口 30000。我已经打开了那个端口(以及5000 和 5001)在 ufw。我的客户端将无法连接。我想将应用程序 URL 设置为https://some.fqdn.com:30000,但除了蹩脚的端口 5000 之外,我无法让它监听任何其他端口,我什至无法完成这个问题.
我厌倦了看到这个:
信息:Microsoft.Hosting.Lifetime[0] 现在收听:http://localhost: 5000!!
如何让 asp.net grpc 监听面向公众的网络 URL 上的自定义端口?
提前感谢所有有用的评论!史蒂夫
解决方案
好吧,一旦你偶然发现了第 100 万个谷歌搜索,这很容易......
我将以下内容添加到我的 appsettings.json 文件中:
"Kestrel": {
"EndPoints": {
"Https": {
"Url": "https://some.fqdn.com:30000"
}
},
"EndpointDefaults": {
"Protocols": "Http2"
}
}
现在,我只需要找到一个端到端的例子来说明如何保护客户端和服务器之间的连接,我会很成功!
推荐阅读
- python - 有没有办法将 9,12 或 15 列从单个 df 组合成 3?
- logging - 如何将自定义数据传递给 Rust 中的 log crate 宏?
- excel - Excel 宏,用于根据工作表名称将多个工作表合并到主工作表
- r - 如何使用寓言(r)将预测加在一起?
- android - BottomNavigation - 为什么一个项目的空间与其他项目不同?
- sql-server - 识别仅包含单个值的所有列(例如 0,0.00, Z, Y, N)
- javascript - 在 JavaScript 中从 InOrder 和 PostOrder 构建二叉树
- python - 为什么网页元素的点击功能不起作用(使用 Python 的 Selenium 模块)?
- python-3.x - string.replace ,python 正在擦除句子的其余部分
- django - 删除购物车django