我要买VPS服务器。在这个服务器上,我需要启动Java应用程序和PostgreSQL数据库。Java是一个运行在端口8080上的Web服务,PostgreSQL数据库运行在默认端口5432上。
注意:我知道我已经将数据库和应用程序放在一个服务器上,这不是一个好的解决方案,但它只是一个测试环境,我的老板不想投资于一个额外的VPS服务器。
VPS的IP地址为1.2.3.4。这与域example.com相关联。
我在DNS中有这样的设置:
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误差
有没有办法,如何设置这个状态?
发布于 2016-03-24 15:21:23
DNS只是指向IP地址,然后每个服务都应该根据指定的主机响应或提供错误,例如webservice应该为"db.example.com:8080“提供一个404错误。
因此,您要做的是将postgres配置为只接受特定主机,并且应该将java webservice配置为响应特定的主机名(可能是不可能的)。
在postgres中,您应该使用配置选项设置主机名,如下所示:
listen_addresses = 'db.example.com'
发布于 2016-03-25 07:19:13
Dns只将域名转换为ip地址。您的服务器在第二层不知道它访问的域名。它可以处理第7层的功能。例如,在Apache中,不要为db.example.com设置vhost。因为您的apache(第7层osi)知道它访问的域名是什么,他从自己的协议http请求中知道了这一点。
https://serverfault.com/questions/765876
复制相似问题