我只想公开我的IP,以便可以从任何地方访问它。我正在使用ubuntu 18.04
。已经安装了apache2和PHP。位于/var/www/html/example.com/public_html/index.php
中的索引文件。在本地主机中,它正在运行,并且可以在同一网络中访问我的网站。还对防火墙进行了一些更改。
这是我的/etc/hosts
文件配置
127.0.0.1 localhost
127.0.1.1 amal
127.0.0.1 www.example.com
127.0.0.1 example.com
和etc/apache2/sites-avaliable/example.com.conf
文件配置
<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
ServerAdmin admin@example.com
DocumentRoot /var/www/html/example.com/public_html
ErrorLog /var/www/html/example.com/log/error.log
CustomLog /var/www/html/example.com/log/access.log combined
</VirtualHost>
使用此配置,我可以使用我的IP(192.168.255.24)任何本地连接的设备访问此网页。 现在我想公开我的IP,并且可以从任何地方访问这些网页,对此我并不了解。我遵循了一些教程,但是失败了。 这是防火墙状态
命令
ufw status
outputStatus: active
To Action From
-- ------ ----
Apache Full ALLOW Anywhere
80 ALLOW Anywhere
443 ALLOW Anywhere
8080 ALLOW Anywhere
Apache Full (v6) ALLOW Anywhere (v6)
80 (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
8080 (v6) ALLOW Anywhere (v6)
在我的jiofi路由器中,portforward将192.168.255.24
和端口80
包括在内
但是,当我尝试使用全球IP访问我的网站时,从canyouseeme.org
获取时,它会显示The connection has timed out
。如何解决这个问题请帮忙
答案 0 :(得分:0)
192.168.255.24是专用IP,不能仅从Intranet从Internet访问。
127.0.0.1:回送地址,只能从同一设备(计算机)访问,就像说自己一样。如果别人说我自己,那就不是你了。
要从Internet访问Intranet上的计算机,您需要获取公共地址,可以通过谷歌搜索“这是我的IP”来做到这一点,只需注意,很可能它是一个动态地址,该地址可能会发生变化时不时地
这是从Intranet外部使用的地址(从内部很可能无法使用)
第二,您必须进入连接到互联网的路由器的配置,并且:
在DHCP中为托管Web服务器的计算机保留一个特定的地址(我想这是192.168.255.24)。您需要执行此操作,以使计算机在Intranet中始终具有相同的IP地址。
配置端口转发(也在路由器中)以重定向在端口80上接收到的内容,如果您将使用ssl端口443例如分别重定向到端口80和443上的保留地址(192.168.255.24)。这样,从Internet上的端口80和443传入的内容将传递到在同一端口上托管Web服务器的计算机。
第三,您需要检查计算机的防火墙规则以启用端口80上的流量。
请注意,当您在路由器中启用端口转发时,您正在明确地允许来自Internet的计算机访问特定端口上的Intranet。我了解这就是您想要的,但我只是想说清楚。