#1415 Prosody 5347 port could not be connected through telnet
Reporter
zhaoxjin
Owner
Nobody
Created
Updated
Stars
★ (1)
Tags
Type-Defect
Priority-Medium
Status-Invalid
zhaoxjin
on
What steps will reproduce the problem?
I installed a prosody in docker image, when starting it, the log reads:
Aug 30 07:11:06 general info Hello and welcome to Prosody version 0.9.12
Aug 30 07:11:06 general info Prosody is using the select backend for connection handling
Aug 30 07:11:06 portmanager info Activated service ‘http’ on [::]:5280, []:5280
Aug 30 07:11:06 portmanager info Activated service ‘https’ on [::]:5281, []:5281
Aug 30 07:11:06 portmanager info Activated service ‘c2s’ on [::]:5222, []:5222
Aug 30 07:11:06 portmanager info Activated service ‘legacy_ssl’ on no ports
Aug 30 07:11:06 portmanager info Activated service ‘s2s’ on [::]:5269, []:5269
Aug 30 07:11:06 mod_posix info Prosody is about to detach from the console, disabling further console output
Aug 30 07:11:06 mod_posix info Successfully daemonized to PID 191
Aug 30 07:11:06 socket warn server.lua, [::1]:5347: Cannot assign requested address
Aug 30 07:11:06 portmanager error Failed to open server port 5347 on ::1, Cannot assign requested address
Aug 30 07:11:06 portmanager info Activated service ‘component’ on [127.0.0.1]:5347
Then I tried to connect it using telnet.
telnet 0.0.0.0 5222 could return something correctly, but telnet 0.0.0.0 5347 will be closed very soon.
What is the expected output?
I want to connet to prosody using telnet against 5347 port
What do you see instead?
What version of the product are you using? On what operating system?
I installed prosody using apt-get install prosody on ubuntu.
Please provide any additional information below.
While installed without docker, the prosody server accept request on 5347 correctly.The dockefile reads:
FROM jitsi/base
RUN echo "#!/bin/sh\nexit 0" > /usr/sbin/policy-rc.d
RUN sed -i -- 's/#deb-src/deb-src/g' /etc/apt/sources.list && sed -i -- 's/# deb-src/deb-src/g' /etc/apt/sources.list
RUN apt-get update
RUN apt-get install -y prosody
ADD jitsi.pangu.com.cfg.lua /etc/prosody/conf.d/
RUN sed -i '$a\component_ports={ 5347 }' /etc/prosody/prosody.cfg.lua
RUN sed -i '$a\component_interface = "0.0.0.0"' /etc/prosody/prosody.cfg.lua
RUN prosodyctl cert generate jitsi.pangu.com
RUN prosodyctl cert generate auth.jitsi.pangu.com
RUN ln -sf /var/lib/prosody/auth.jitsi.pangu.com.crt /usr/local/share/ca-certificates/auth.jitsi.pangu.com.crt
RUN update-ca-certificates -f
RUN prosodyctl register focus auth.jitsi.pangu.com *******
EXPOSE 5222
EXPOSE 5269
EXPOSE 5347
EXPOSE 5080
Zash
on
Thanks for the report.
As you can see in the log, the component port 5347 listens only on the localhost / loopback interface.
Thus it will not be reachable from outside the container.
You can change the interface that Prosody listens for component connections on by setting component_interfaces = { 0.0.0.0 }
as documented here: https://prosody.im/doc/components#adding_an_external_component
What steps will reproduce the problem? I installed a prosody in docker image, when starting it, the log reads: Aug 30 07:11:06 general info Hello and welcome to Prosody version 0.9.12 Aug 30 07:11:06 general info Prosody is using the select backend for connection handling Aug 30 07:11:06 portmanager info Activated service ‘http’ on [::]:5280, []:5280 Aug 30 07:11:06 portmanager info Activated service ‘https’ on [::]:5281, []:5281 Aug 30 07:11:06 portmanager info Activated service ‘c2s’ on [::]:5222, []:5222 Aug 30 07:11:06 portmanager info Activated service ‘legacy_ssl’ on no ports Aug 30 07:11:06 portmanager info Activated service ‘s2s’ on [::]:5269, []:5269 Aug 30 07:11:06 mod_posix info Prosody is about to detach from the console, disabling further console output Aug 30 07:11:06 mod_posix info Successfully daemonized to PID 191 Aug 30 07:11:06 socket warn server.lua, [::1]:5347: Cannot assign requested address Aug 30 07:11:06 portmanager error Failed to open server port 5347 on ::1, Cannot assign requested address Aug 30 07:11:06 portmanager info Activated service ‘component’ on [127.0.0.1]:5347 Then I tried to connect it using telnet. telnet 0.0.0.0 5222 could return something correctly, but telnet 0.0.0.0 5347 will be closed very soon. What is the expected output? I want to connet to prosody using telnet against 5347 port What do you see instead? What version of the product are you using? On what operating system? I installed prosody using apt-get install prosody on ubuntu. Please provide any additional information below. While installed without docker, the prosody server accept request on 5347 correctly.The dockefile reads: FROM jitsi/base RUN echo "#!/bin/sh\nexit 0" > /usr/sbin/policy-rc.d RUN sed -i -- 's/#deb-src/deb-src/g' /etc/apt/sources.list && sed -i -- 's/# deb-src/deb-src/g' /etc/apt/sources.list RUN apt-get update RUN apt-get install -y prosody ADD jitsi.pangu.com.cfg.lua /etc/prosody/conf.d/ RUN sed -i '$a\component_ports={ 5347 }' /etc/prosody/prosody.cfg.lua RUN sed -i '$a\component_interface = "0.0.0.0"' /etc/prosody/prosody.cfg.lua RUN prosodyctl cert generate jitsi.pangu.com RUN prosodyctl cert generate auth.jitsi.pangu.com RUN ln -sf /var/lib/prosody/auth.jitsi.pangu.com.crt /usr/local/share/ca-certificates/auth.jitsi.pangu.com.crt RUN update-ca-certificates -f RUN prosodyctl register focus auth.jitsi.pangu.com ******* EXPOSE 5222 EXPOSE 5269 EXPOSE 5347 EXPOSE 5080
Thanks for the report. As you can see in the log, the component port 5347 listens only on the localhost / loopback interface. Thus it will not be reachable from outside the container. You can change the interface that Prosody listens for component connections on by setting component_interfaces = { 0.0.0.0 } as documented here: https://prosody.im/doc/components#adding_an_external_component
Changes