Openfire - 设置管理 GUI 以侦听端口 80
Openfire - set admin GUI to listen on port 80
我正在研究centos。我已经为 XMPP 服务器安装了 openfire。我在 Openstack 上使用虚拟机(public 服务器具有浮动 IP)。由于限制和 ACL,端口 9090 或 9091 不可用于入口流量。唯一配置的端口是 80 和 443。
我曾尝试通过打开端口 80 来配置 iptables,但是,这似乎没有什么不同。即使没有将端口 80 添加到 iptable,当我使用 https://www.yougetsignal.com/tools/open-ports/
检查它时,它仍然显示为 open
因此,我尝试将 openfire admin 设置为从配置文件侦听端口 80,因为当然,我无法连接到管理 GUI 以从那里更改它。该机器有一个 Apache Web 服务器,默认情况下侦听端口 80。我使用以下命令关闭它:
sudo service httpd stop
当我查看 netstat -tulpn | grep 80
时,我可以看到端口 80 上没有任何内容在侦听,因此我可以假设没有任何其他内容正在使用端口 80。
我在 opt/openfire/conf/
中更改了 openfire.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file stores bootstrap properties needed by Openfire.
Property names must be in the format: "prop.name.is.blah=value"
That will be stored as:
<prop>
<name>
<is>
<blah>value</blah>
</is>
</name>
</prop>
Most properties are stored in the Openfire database. A
property viewer and editor is included in the admin console.
-->
<!-- root element, all properties must be under this element -->
<jive>
<adminConsole>
<!-- Disable either port by setting the value to -1 -->
<port>80</port>
<securePort>-1</securePort>
</adminConsole>
<locale>en</locale>
<!-- Network settings. By default, Openfire will bind to all network interfaces.
Alternatively, you can specify a specific network interfaces that the server
will listen on. For example, 127.0.0.1. This setting is generally only useful
on multi-homed servers. -->
<!--
<network>
<interface></interface>
</network>
-->
</jive>
当我再次执行 netstat -tulpn | grep 80
时,我没有看到任何在 80 上打开的东西。我读过一些关于如果 openfire 不是以 root 身份启动,那么它就不能监听低于 1024 端口范围的任何东西。因此,我确保我启动了 openfire 服务:sudo service openfire start
.
是否有任何我缺少的 openfire 配置?
您可以预先路由您的流量,以便从端口 80 进入端口 9090 的流量。我假设端口 9090 是开放的。
你可以像这样打开9090端口:
sudo iptables -A INPUT -p tcp -m tcp --dport 9090 -j ACCEPT
保存您的 iptables 规则:
sudo iptables-save
然后您可以像这样添加 PREROUTING 规则:
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 9090
检查您的规则以查看是否已正确分配。类型:
iptables -t nat -L -n
输出应如下所示:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 redir ports 9090
然后重启Openfire服务:
sudo service openfire stop
sudo service openfire start
您甚至可以更改 Apache 侦听的端口,以确保没有任何东西正在使用端口 80。
如果您转到 /etc/httpd/conf/
然后 sudo vi httpd.conf
,您可以更改此设置。编辑文件后,您可以将端口从 80 更改为另一个未使用的端口,例如8080。请记住,如果您仍然希望 Apache 工作,则必须未使用其他端口。
要进一步阅读 PREROUTING,请阅读以下内容 post:https://askubuntu.com/questions/579231/whats-the-difference-between-prerouting-and-forward-in-iptables
我正在研究centos。我已经为 XMPP 服务器安装了 openfire。我在 Openstack 上使用虚拟机(public 服务器具有浮动 IP)。由于限制和 ACL,端口 9090 或 9091 不可用于入口流量。唯一配置的端口是 80 和 443。
我曾尝试通过打开端口 80 来配置 iptables,但是,这似乎没有什么不同。即使没有将端口 80 添加到 iptable,当我使用 https://www.yougetsignal.com/tools/open-ports/
检查它时,它仍然显示为open
因此,我尝试将 openfire admin 设置为从配置文件侦听端口 80,因为当然,我无法连接到管理 GUI 以从那里更改它。该机器有一个 Apache Web 服务器,默认情况下侦听端口 80。我使用以下命令关闭它:
sudo service httpd stop
当我查看 netstat -tulpn | grep 80
时,我可以看到端口 80 上没有任何内容在侦听,因此我可以假设没有任何其他内容正在使用端口 80。
我在 opt/openfire/conf/
openfire.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file stores bootstrap properties needed by Openfire.
Property names must be in the format: "prop.name.is.blah=value"
That will be stored as:
<prop>
<name>
<is>
<blah>value</blah>
</is>
</name>
</prop>
Most properties are stored in the Openfire database. A
property viewer and editor is included in the admin console.
-->
<!-- root element, all properties must be under this element -->
<jive>
<adminConsole>
<!-- Disable either port by setting the value to -1 -->
<port>80</port>
<securePort>-1</securePort>
</adminConsole>
<locale>en</locale>
<!-- Network settings. By default, Openfire will bind to all network interfaces.
Alternatively, you can specify a specific network interfaces that the server
will listen on. For example, 127.0.0.1. This setting is generally only useful
on multi-homed servers. -->
<!--
<network>
<interface></interface>
</network>
-->
</jive>
当我再次执行 netstat -tulpn | grep 80
时,我没有看到任何在 80 上打开的东西。我读过一些关于如果 openfire 不是以 root 身份启动,那么它就不能监听低于 1024 端口范围的任何东西。因此,我确保我启动了 openfire 服务:sudo service openfire start
.
是否有任何我缺少的 openfire 配置?
您可以预先路由您的流量,以便从端口 80 进入端口 9090 的流量。我假设端口 9090 是开放的。
你可以像这样打开9090端口:
sudo iptables -A INPUT -p tcp -m tcp --dport 9090 -j ACCEPT
保存您的 iptables 规则:
sudo iptables-save
然后您可以像这样添加 PREROUTING 规则:
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 9090
检查您的规则以查看是否已正确分配。类型:
iptables -t nat -L -n
输出应如下所示:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 redir ports 9090
然后重启Openfire服务:
sudo service openfire stop
sudo service openfire start
您甚至可以更改 Apache 侦听的端口,以确保没有任何东西正在使用端口 80。
如果您转到 /etc/httpd/conf/
然后 sudo vi httpd.conf
,您可以更改此设置。编辑文件后,您可以将端口从 80 更改为另一个未使用的端口,例如8080。请记住,如果您仍然希望 Apache 工作,则必须未使用其他端口。
要进一步阅读 PREROUTING,请阅读以下内容 post:https://askubuntu.com/questions/579231/whats-the-difference-between-prerouting-and-forward-in-iptables