我是使用Google Cloud Platform的新手,我正在尝试托管一个非常简单的静态网站。我完全按照Google的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作为启动映像)
更新
根据以下用户的要求,我运行了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
似乎没有做任何事情。
答案 0 :(得分:0)
service apache2 status
和
service apache2 start
在VM上,您是否选中了允许HTTP的框?
答案 1 :(得分:0)
您可以telnet到服务器的端口80吗?请尝试以下命令:
telnet your-server-ip 80
如果上述命令不起作用,则防火墙很可能阻塞端口80.您的服务器上是否运行了第二个防火墙,例如iptables?。
答案 2 :(得分:0)
您需要为apache启用SSL。
(重要的一点是在站点可用文件夹中的ssl配置文件的启用站点的文件夹中创建一个syslink),它将使其运行但你需要修改ssl密钥/证书的东西(检查out certbot)
这是一个指南:https://hallard.me/enable-ssl-for-apache-server-in-5-minutes/