irh*_* i. 10 ubuntu nginx oracle-cloud-infrastructure ubuntu-18.04
昨天,我设置了我的第一个始终免费的计算 VM。我在我的虚拟机上安装了 ubuntu 18.04 minimum。为了满足我的 Web 服务需求,我安装了 Nginx。我很困惑,因为当我尝试通过网络浏览器访问我的公共 IP 时,Nginx 欢迎页面没有加载。我认为这是因为端口 80 没有打开。因此,我尝试在“安全列表详细信息”菜单中设置入口规则来打开它,如下图所示。 端口 80 的入口规则
但是现在,我仍然无法访问我的 VM 中的 Web 服务器。可能在 Oracle Cloud 中有更多有经验的人可以帮助我解决这个问题。谢谢
con*_* yu 50
这就是我在不直接干预的情况下做到的iptables。
首先在Oracle Cloud vps的仪表板/网络/虚拟云网络中创建一个Ingress Rule,例如端口范围23-90

接下来,firewalld在ubuntu中安装(firewalld我认为在centos中可用)
sudo apt-get install firewalld
sudo systemctl enable firewalld
sudo systemctl start firewalld
Run Code Online (Sandbox Code Playgroud)
您只需执行此操作一次。重启后它仍然存在。
然后,打开80端口:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent # or --add-service=http
sudo firewall-cmd --reload
Run Code Online (Sandbox Code Playgroud)
核实:
sudo firewall-cmd --list-all
Run Code Online (Sandbox Code Playgroud)
输出:
public
target: default
icmp-block-inversion: no
interfaces:
sources:
services: dhcpv6-client ssh
ports: 80/tcp
...
Run Code Online (Sandbox Code Playgroud)
这同样适用于打开其他端口。您可以轻松删除端口 ( --remove-port=80/tcp+ a --reload),请参阅firewalld文档。
从远程计算机进行测试
sudo apt-get install firewalld
sudo systemctl enable firewalld
sudo systemctl start firewalld
Run Code Online (Sandbox Code Playgroud)
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent # or --add-service=http
sudo firewall-cmd --reload
Run Code Online (Sandbox Code Playgroud)
我还在 Oracle Cloud Always Free vps 的防火墙上浪费了很多时间。我希望这可以节省其他人一些时间。
Joh*_*hnC 25
我在这上面浪费了很多时间。我希望我先找到了这个:https : //docs.cloud.oracle.com/en-us/iaas/developer-tutorials/tutorials/apache-on-ubuntu/01oci-ubuntu-apache-summary.htm
为端口 80 配置入口路由
安装 ubuntu。
安装 apache/nginx
curl localhost 应该带回文本格式的网页,但是在互联网上失败。
忘记 ufw 防火墙 - 这可能会导致 Oracle 防火墙出现问题
用
$ sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 80 -j ACCEPT
$ sudo netfilter-persistent save
Run Code Online (Sandbox Code Playgroud)
g) 通过互联网测试您的网页
$ sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 80 -j ACCEPT
$ sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 443 -j ACCEPT
$ sudo netfilter-persistent save
Run Code Online (Sandbox Code Playgroud)
如果您有 Internet 网关并且还配置了路由表,您可能仍需要检查操作系统级别防火墙。如果未配置,您可能需要执行此命令:
sudo ufw allow http
有关更多详细信息,请参阅:如何在 Ubuntu 上打开/允许传入防火墙端口