我是使用Google Cloud Platform的新手,我正在尝试托管一个非常简单的静态网站。我完全按照谷歌的tutorial for running a basic apache webserver,但当我点击我的网站的外部IP时,我被带到一个页面上写着“这个站点无法到达。”<my site's IP address>
意外地关闭了连接ERR_CONNECTION_CLOSED
。
自创建VM以来,我运行了以下命令:
sudo apt-get update && sudo apt-get install apache2 -y
echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' | sudo tee /var/www/html/index.html
我也跑ping <site IP address>
并看到形式的线条
PING <IP address> 56(84) bytes of data.
64 bytes from <IP address>: icmp_seq=1 ttl=76 time=0.746 ms
我已确保将我的VM上的防火墙设置设置为允许HTTP和HTTPS流量。
为什么我看不到应该在我的网站上托管的简单的Hello World页面?我需要手动启动apache吗?我试过并没有取得任何成功。
(我的VM将Debian 8作为启动映像)
UPDATE
在下面的用户的请求下,我运行了sudo service apache2 status
但得到了以下回复:
apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2)
Drop-In: /lib/systemd/system/apache2.service.d
└─forking.conf
Active: active (running) since Mon 2017-01-23 01:27:44 UTC; 11h ago
CGroup: /system.slice/apache2.service
├─2570 /usr/sbin/apache2 -k start
├─2573 /usr/sbin/apache2 -k start
└─2574 /usr/sbin/apache2 -k start
运行sudo service apache2 start
似乎没有做任何事情。
service apache2 status
和
service apache2 start
在VM上你是否选中了允许HTTP的方框?
你能telnet到服务器的80端口吗?请尝试以下命令:
telnet your-server-ip 80
如果上述命令不起作用,则防火墙很可能阻塞端口80.您的服务器上是否运行了第二个防火墙,例如iptables?。
您需要为apache启用SSL。
(重要的一点是在站点可用文件夹中的ssl配置文件的启用站点的文件夹中创建一个syslink),它将使它运行但你需要修改ssl key / cert的东西(查看certbot)
这是一个指南:https://hallard.me/enable-ssl-for-apache-server-in-5-minutes/