有没有办法使用端口 80 或 443 连接到 Azure 虚拟机上的 Kafka?如果不是,为什么?
Is there a way to connect to Kafka on an Azure virtual machine using port 80 or 443? If not, why?
我想在我的 Azure 虚拟机上使用端口 80 连接到 Kafka。我在虚拟机上安装了 Java 和 Kafka。我为端口 80 添加了入站端口规则。
我在 Kafka 的 config/server.properties 文件中添加了 port=80。我运行动物园管理员成功了。
当我尝试连接到 kafka 时出现此错误:
ERROR [KafkaServer id=0] Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
org.apache.kafka.common.KafkaException: Socket server failed to bind to 0.0.0.0:80: Permission denied
我可以使用其他端口连接到kafka,我试过9092、8000、8080、4430
但我无法使用端口 80 或 443 连接到它。问题是我想使用端口 80 或 443 访问 Kafka,因为我想使用仅允许使用端口 80 的 Web 服务器生成消息或 443.
为什么我无法在 Azure 虚拟机上使用端口 80 连接到 kafka?
据我所知,您可以在本地计算机上执行相同的操作。所以你可以使用端口80连接在VM中配置的Kafka。并且如错误所示,问题是权限。需要检查Kafka的权限或者你配置Kafka时使用的User。
而对于Web App,它只能对外暴露一个端口,端口必须是80或443。但是你的应用程序可以监听Web App内部的任何端口,那么你只需要设置端口的环境变量 WEBSITES_PORT
。 Azure 会将请求从端口 80 外部路由到应用程序侦听的端口。查看问题My custom container listens to a port other than port 80. How can I configure my app to route requests to that port?
我想在我的 Azure 虚拟机上使用端口 80 连接到 Kafka。我在虚拟机上安装了 Java 和 Kafka。我为端口 80 添加了入站端口规则。
我在 Kafka 的 config/server.properties 文件中添加了 port=80。我运行动物园管理员成功了。
当我尝试连接到 kafka 时出现此错误:
ERROR [KafkaServer id=0] Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer) org.apache.kafka.common.KafkaException: Socket server failed to bind to 0.0.0.0:80: Permission denied
我可以使用其他端口连接到kafka,我试过9092、8000、8080、4430
但我无法使用端口 80 或 443 连接到它。问题是我想使用端口 80 或 443 访问 Kafka,因为我想使用仅允许使用端口 80 的 Web 服务器生成消息或 443.
为什么我无法在 Azure 虚拟机上使用端口 80 连接到 kafka?
据我所知,您可以在本地计算机上执行相同的操作。所以你可以使用端口80连接在VM中配置的Kafka。并且如错误所示,问题是权限。需要检查Kafka的权限或者你配置Kafka时使用的User。
而对于Web App,它只能对外暴露一个端口,端口必须是80或443。但是你的应用程序可以监听Web App内部的任何端口,那么你只需要设置端口的环境变量 WEBSITES_PORT
。 Azure 会将请求从端口 80 外部路由到应用程序侦听的端口。查看问题My custom container listens to a port other than port 80. How can I configure my app to route requests to that port?