Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3503314
  • 博文数量: 349
  • 博客积分: 5771
  • 博客等级: 大校
  • 技术积分: 4193
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-06 11:52
个人简介

it

文章分类

全部博文(349)

文章存档

2019年(2)

2018年(2)

2017年(1)

2016年(2)

2015年(18)

2014年(36)

2013年(69)

2012年(100)

2011年(62)

2010年(57)

分类: 系统运维

2015-01-28 17:07:51

架构:
    (腾讯和阿里)云主机发布一款app应用,真实数据源放在公司内网(有FW)。数据库有mysql、ms sql2008和POSTGRESQL数据库.
思路:
    在防火墙上配置虚拟ip的tcp映射后,到wan口上应用策略实现(注意不是所有的防火墙支持内网跨网段的映射)。
遇到问题:
    mysql和ms sql2008都很顺利。POSTGRESQL遇到问题了。研发人员说是网络问题。
好吧,只有帮他解决问题,才能证明清白了。
思路:
    由于服务器不属于我们管理,也没办法查看,只能通过外围多次验证了。
1、请他们提供链接日志
  严重: Servlet.service() for servlet springMVC threw exception
org.postgresql.util.PSQLException: ????????: ???????????? "192.168.1.2", ???? "release", ?????? "FtnGuaHao", SSL ???? ?? pg_hba.conf ????
at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:293)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:108)
at org.postgresql.core.ConnectionFactory.openConnection(Connectio
2、确认是否网络端口开放成功。
   在云主机telnet 映射的外网ip   数据库端口 没有问题
3、通过日志大概估计是认证这块。
4、联想。
我只对mysql了解。默认情况下mysql只允许127.0.0.1和localhost链接数据库。
那么POSTGRESQL是否有同样的权限规则呢?
5、通过这个思路找资料
果然找到了
具体修改如下:
① pg_hba.conf 文件,在文件的最下方加上下面的这句话
host    all         all         0.0.0.0/0             md5  
 ② postgresql.conf文件,查找“listen_addresses ”字符串,然后修改为如下:

listen_addresses = '*'  
port=5432
 重启postgres服务.
linux重启命令:
#su - postgres
$pg_ctl restart
windows下的就不用说了,菜单方式搞定重启
最后搞定。

阅读(5141) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~