首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >每个应用程序都需要web服务器吗?

每个应用程序都需要web服务器吗?
EN

Server Fault用户
提问于 2022-01-22 16:35:31
回答 1查看 129关注 0票数 -4

服务器只是一台带有web服务器软件的机器(比如nginx、apache等)。当我们在托管服务(如GoDaddy或云服务)中托管网站时,它们是为部署的每个应用程序提供web服务器软件,还是只为机器(服务器)提供一个web服务器软件,而每个应用程序都使用它,或者我们(客户端)需要设置web服务器软件?

服务器可以拥有“n”个web服务器软件吗?

在DNS记录中,每个应用程序域的记录是否指向服务器的IP地址或web服务器的IP地址?

如果一个服务器中的所有应用程序域指向同一个IP地址,那么请求是如何路由到特定应用程序的?

如果问题有什么不对的地方,请指出,因为我对这些话题很陌生。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2022-01-22 17:08:32

服务器只是一台带有web服务器软件的机器(比如nginx、apache等)。

不一定。服务器是一种计算机系统,用于向其他系统(客户端)提供内容、数据处理(或简单地从其他来源获取)并返回给客户端。

如果它通过HTTP协议服务内容,或者数据库服务器,如果它存储数据并允许以关系(SQL)或非关系方式进行数据操作,或者DNS服务器(如果它通过DNS协议提供有关主机名和IP地址的信息,等等),则可能是Web服务器。

当我们在托管服务(如GoDaddy或云服务)中托管网站时,它们是为部署的每个应用程序提供web服务器软件,还是只为机器(服务器)提供一个web服务器软件,而每个应用程序都使用它,或者我们(客户端)需要设置web服务器软件?

那得看情况。有些公司为虚拟机(或类似的)提供了像Apache这样的预先安装的Web服务器,而您“只需要”为您的应用程序正确配置它们。其他(AWS EC2)只是提供简单的虚拟机,您必须安装和配置您可能需要的任何服务或包(包括一个Web服务器)。

服务器可以拥有“n”个web服务器软件吗?

是。同一服务器可以承载不同的Web服务器工具(例如,Apache和Nginx,用于不同的应用程序),甚至可以承载同一Web服务器技术的不同实例(例如,通过容器),也可以承载单个Web服务器工具来处理多个应用程序(可能使用虚拟主机)。

在DNS记录中,每个应用程序域的记录是否指向服务器的IP地址或web服务器的IP地址?

它应该指向任何可以从外部路由和访问的IP地址,并以某种方式“绑定”到Web服务器。一个简单的设置可能是一个虚拟机,它有一个IP地址,web服务器监听该IP地址。但是web服务器也可以在内部侦听另一个地址,例如127.0.0.1,并使用一些技术(如NAT)接收以VM IP地址作为目标地址的HTTP请求。诸若此类。

如果一个服务器中的所有应用程序域指向同一个IP地址,那么请求是如何路由到特定应用程序的?

这可以通过多种方式完成。首先,您可以有不同的进程监听相同的IP地址,但在不同的端口。只要端口不同,就没有冲突-- http://www.example.com:80将到达与http://www.example.com:8080不同的web服务器(或web服务器实例)。通过使用不同的端口并将每个端口绑定到一个进程或进程“实例”(例如虚拟主机),每个请求被转发到正确的应用程序。

编辑

试图回答评论中的其他问题。

如果多个应用程序部署在共享服务器上而不是VM上怎么办?由于每个人都希望端口为443(默认端口),如果应用程序使用HTTPS,请求如何被路由?域名的DNS记录的Ip地址将指向什么?

如果多个应用程序在同一个端口和同一个IP上侦听,则可以执行其他类型的流量操作。例如,假设同一个IP绑定到三个应用程序:

app1.example.com -端口443

app2.example.com -端口443

app3.example.com -端口443

对同一个IP地址和端口的HTTP请求如何重定向到正确的应用程序?一种方法是使用主机标头。如果浏览器想联系app1.example.com,它将向同一个IP和端口发送一个HTTP请求,主机报头设置为"app1.example.com“。反向代理将接受该请求,读取主机头的值,并将该请求重定向到与"app1.example.com“关联的进程,即使该进程与其他web服务器侦听的IP和端口相同。

另一种不同的方法依赖于使用具有多个IP地址的机器(VM,裸金属-不重要)。如果同一台机器有多个IP地址,它可以在同一端口上承载不同的应用程序,但可以承载不同的地址,而无需使用任何HTTP报头技巧。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1090818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档