我刚开始使用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
我已确保虚拟机上的防火墙设置已设置为允许HTTP和HTTPS流量。
为什么我看不到应该在我的网站上托管的简单的Hello World页面?我需要手动启动apache吗?我已经尝试过了,但没有任何成功。
(My 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
似乎没有做任何事情。
4条答案
按热度按时间4jb9z9bj1#
以及
在虚拟机上,您是否选中了允许HTTP的复选框?
uxh89sit2#
是否可以telnet到服务器的端口80?.尝试以下命令:
如果上述命令不起作用,则很可能是防火墙阻塞了端口80。您的服务器上是否运行了第二个防火墙,例如iptables?。
svmlkihl3#
您需要为Apache启用SSL。
(the重要的一点是在site-available文件夹中ssl配置文件的sites-enabled文件夹中创建一个syslink),这将使它运行,但您需要修补ssl密钥/cert的东西(检查certbot)
以下是一个指南:https://hallard.me/enable-ssl-for-apache-server-in-5-minutes/
v09wglhw4#
对于那些面临同样问题的人,默认情况下,谷歌试图通过HTTPS访问URL/IP。但由于SSL没有安装,它将无法访问它。你有两个选择,1)在根IP上安装SSL或删除https://xxxxxx地址中的“s”。
到
希望能有所帮助