我正在配置一个新的 EC2 实例,它将运行 Tomcat,并且我希望它可以在端口 80 上访问。
在 Amazon Linux 1 中,我看到人们使用的主要策略是使用 iptables 进行端口转发。这不是我的理想策略,但效果很好。
使用 Amazon Linux 2 设置新的 EC2 实例,很快发现 Amazon Linux 2 使用systemd
。因此,您绝对不能执行以下操作service iptables save
:
service 命令仅支持基本 LSB 操作(start、stop、restart、try-restart、reload、force-reload、status),其他操作请尝试使用 systemctl。
当然。那么有没有像一些发行版? systemctl status iptables
表示没有:
找不到单元 iptables.service。
Amazon Linux 中是否有从文件加载 iptables 配置的机制?我不介意将我的配置放入文件中,或者iptables-save
对文件执行操作,但我没有发现任何迹象表明 Amazon Linux 2 中已经存在使用文件的机制。如果没有,最好的策略是什么——iptables
在 中创建我自己的单元systemd
?或者有没有更好的方法让 Tomcat 可以通过 Amazon Linux 2 在端口 80 上访问?
答案1
iptables
默认情况下未安装。您需要运行:
yum install iptables-services
但是,iptables
也被弃用了,取而代之的是,如果firewalld
。
但是,我个人倾向于使用 mod_proxytomcat
在 apache 上公开端口 80。监听端口 80,并代理到端口 8080。httpd
httpd