【问题标题】:Deployed gRPC app will only uses port 5000 - need it to listen to port https://asdf.com:30000部署的 gRPC 应用程序将仅使用端口 5000 - 需要它来监听端口 https://asdf.com:30000
【发布时间】:2021-11-17 05:29:42
【问题描述】:

我很难为一个看似简单的问题找到答案。

我有两个问题:

  1. 我可以让我的小型 gRPC 应用程序在我的开发盒上的端口 http:localhost:5000 或 https:localhost:5001 上运行而不会出现问题。当我进入 launchSettings.json 并删除 http:localhost:5000 时,它会按预期工作,并且只侦听端口 5001。一切都按预期工作。我的应用程序直接抄袭了位于此处的示例 (https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/grpc),因此无需发布任何代码。我只是按照教程进行操作。

  2. 当我将它部署到 Ubuntu 20.04 系统时,无论我在发布的应用程序内容中有什么,它都只监听端口 5000。最重要的是,我想监听端口 30000。我已经打开了那个端口(以及 ufw 中的 5000 和 5001)。我的客户端将无法连接。我想将应用程序 URL 设置为 https://some.fqdn.com:30000,但我无法让它监听任何其他端口,但蹩脚的端口 5000,我什至无法完成这个问题。

我已经厌倦了看到这个:

信息:Microsoft.Hosting.Lifetime[0] 现在收听:http://localhost:5000!!

如何让 asp.net grpc 监听面向公众的网络 URL 上的自定义端口?

提前感谢所有有用的 cmets! 史蒂夫

【问题讨论】:

    标签: c# .net grpc


    【解决方案1】:

    嗯,一旦你在第 100 万次谷歌搜索中遇到挫折,这很容易......

    我在 appsettings.json 文件中添加了以下内容:

        "Kestrel": {
            "EndPoints": {
                "Https": {
                    "Url": "https://some.fqdn.com:30000"
                }
            },
            "EndpointDefaults": {
                "Protocols": "Http2"
            }
        }
    

    现在,我只需要找到一个端到端的例子来说明如何保护客户端和服务器之间的连接,我会很成功!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-17
      • 2023-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多