首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在一台服务器上设置两个子域

在一台服务器上设置两个子域
EN

Server Fault用户
提问于 2016-03-24 14:52:16
回答 2查看 103关注 0票数 0

我要买VPS服务器。在这个服务器上,我需要启动Java应用程序和PostgreSQL数据库。Java是一个运行在端口8080上的Web服务,PostgreSQL数据库运行在默认端口5432上。

注意:我知道我已经将数据库和应用程序放在一个服务器上,这不是一个好的解决方案,但它只是一个测试环境,我的老板不想投资于一个额外的VPS服务器。

VPS的IP地址为1.2.3.4。这与域example.com相关联。

刚才:

我在DNS中有这样的设置:

代码语言:javascript
复制
example.com.        1800    IN  A   1.2.3.4
db.example.com.     1800    IN  A   1.2.3.4
ws.example.com.     1800    IN  A   1.2.3.4

...and此状态,当我调用URL时:

ws.example.com:8080/ -连接到web服务

ws.example.com:5432/ -连接到数据库

db.example.com:5432/ -连接到数据库

db.example.com:8080/ -连接到web服务

我需要的

ws.example.com:8080/ -连接到web服务

ws.example.com:5432/ - get误差

db.example.com:5432/ -连接到数据库

db.example.com:8080/ - get误差

有没有办法,如何设置这个状态?

EN

回答 2

Server Fault用户

发布于 2016-03-24 15:21:23

DNS只是指向IP地址,然后每个服务都应该根据指定的主机响应或提供错误,例如webservice应该为"db.example.com:8080“提供一个404错误。

因此,您要做的是将postgres配置为只接受特定主机,并且应该将java webservice配置为响应特定的主机名(可能是不可能的)。

在postgres中,您应该使用配置选项设置主机名,如下所示:

listen_addresses = 'db.example.com'

票数 0
EN

Server Fault用户

发布于 2016-03-25 07:19:13

Dns只将域名转换为ip地址。您的服务器在第二层不知道它访问的域名。它可以处理第7层的功能。例如,在Apache中,不要为db.example.com设置vhost。因为您的apache(第7层osi)知道它访问的域名是什么,他从自己的协议http请求中知道了这一点。

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

https://serverfault.com/questions/765876

复制
相关文章

相似问题

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