如果我在没有安装Apache的情况下向服务器发出HTTP请求,会发生什么?

时间:2014-02-24 20:46:14

标签: apache http amazon-web-services

不一定是Apache,但那只是我所知道的唯一的HTTP服务器(实际上你们可以推荐一些我可以研究的替代方案吗?)

无论如何,所以我一直在搞乱亚马逊网络服务,我创建了一个带有亚马逊Linux图像的EC2服务器实例。在那,(以下指南和示例)我安装了Apache,现在当我向我的公共IP发出GET请求时,它会返回我在服务器上创建的HTML文件。

我的问题是,如果我从未安装过Apache,然后向我的公共IP发出HTTP请求怎么办?真的没有理由,这个问题刚好出现在我脑海里,我很好奇。我不想弄清楚如何卸载Apache或创建一个新的实例来解决它,所以我想知道是否有人可以权衡并告诉我更多关于apache在服务器上的确切含义。我的理解是,它是一个可以在服务器操作系统上安装的层,它将为端口80(HTTP)创建一个套接字监听器,当在该端口上发出请求时,Apache将返回网页?另外我想我在某处你可以配置Apache来将端口转发到类似python服务器脚本的东西吗?

提前感谢您的时间!

2 个答案:

答案 0 :(得分:0)

好吧,如果您想测试未安装Apache会发生什么,您可以通过输入以下命令来停止Apache服务:

sudo service apache2 stop

sudo service httpd stop

取决于您的版本。然后,如果您访问您网站的网页,您将收到404错误或类似内容。

有很多方法可以使用python脚本来运行简单的服务器,但一般来说,让Apache处理它并使用像Ruby on Rails或Django这样的框架来控制服务器内容的显示和创建更容易。

答案 1 :(得分:0)

  

你们可以推荐一些我可以研究的替代品吗?)

nginxapache的常用替代品。效率更高。

  

如果我从未安装Apache,然后向我的公共IP发出HTTP请求怎么办?

您的浏览器会收到“连接重置”,因为端口80上没有任何内容。您的浏览器会显示一条消息(Chrome说“此网页不可用”)。您将 NOT 获得“404”,因为这需要HTTP服务器发送HTTP代码。

如果你的服务器是防火墙,你会打赌等待一段时间,然后是关于服务器没有响应的消息。

  

另外我想我在某处你可以配置Apache来将端口转发到类似python服务器脚本的东西?

是的,这称为“反向代理”模式。如果您想扩展,这对任何应用程序网站都很重要。 Web服务器可以将流量分发给运行该应用程序的一个或多个后端。 Web服务器对于过滤错误请求非常有用(因为Ruby / Python中的后端将比反向代理慢1000倍。)