我有一个有效的本地安装的tryton。但是从远程客户端连接不起作用。 tryton是构建opon Postgre SQL,从文档中我假设问题的本质就在那里。
编辑: 事实证明问题既不是PostgreSQL也不是trytond.conf脚本,而是我需要在Windows Azure上为端口8000设置虚拟机的端点。 见http://xmodulo.com/2012/12/how-to-open-ports-on-windows-azure-vm.html。 但是,下面关于trytond.conf文件的答案也是正确的。
在/etc/trytond.conf中我输入了tryton服务器的IP地址:
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
[options]
# This is the hostname used when generating tryton URI
#hostname =
# Activate the json-rpc protocol
jsonrpc = 23.97.165.118:8000
#ssl_jsonrpc = False
(这是一个IP示例)
运行常见问题解答中的支票: trytond运行正常:
听力端口:
但是,没有通过互联网从客户端连接。
我希望互联网上任何地方的每个客户都能够连接(不是最好的安全性,但用户的IP会发生变化,所以无法避免这种情况)。
我需要输入/etc/postgresql/9.1/main/pg_hba.conf?
什么需要进入postgresql.conf? 在哪一个?使用“whereis postgresql.conf”搜索找到几个版本:
root@Tryton:~# whereis postgresql.conf
postgresql: /etc/postgresql /usr/lib/postgresql /usr/share/postgresql
非常感谢您的帮助。
编辑:这是配置文件。在服务器上本地运行,但无法通过互联网连接tryton客户端。
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
[options]
# This is the hostname used when generating tryton URI
#hostname =
# Activate the json-rpc protocol
jsonrpc = *:8000
#ssl_jsonrpc = False
# Configure the path of json-rpc data
#jsondata_path = /var/www/localhost/tryton
# Activate the xml-rpc protocol
#xmlrpc = *:8069
#ssl_xmlrpc = False
# Activate the webdav protocol
#webdav = *:8080
#ssl_webdav = False
# Configure the database type
# allowed values are postgresql, sqlite, mysql
#db_type = postgresql
# Configure the database connection
## Note: Only databases owned by db_user will be displayed in the connection dialog
## of the Tryton client. db_user must have create permission for new databases
## to be able to use automatic database creation with the Tryton client.
#db_host = False
#db_port = False
db_user = tryton
db_password = tryton_password
#db_minconn = 1
#db_maxconn = 64
# Configure the postgresql path for the executable
#pg_path = None
# Configure the Tryton server password
#admin_passwd = admin
# PostgreSQL Client Authentication Configuration File
# ===================================================
# DO NOT DISABLE!
# If you change this first entry you will need to make sure that the
# database superuser can access the database using some other method.
# Noninteractive access to all databases is required during automatic
# maintenance (custom daily cronjobs, replication, and similar tasks).
#
# Database administrative login by Unix domain socket
local all postgres md5
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
# Original:
#host all all 127.0.0.1/32 md5
# Neu:
# Option 1: host all all 0.0.0.0/0 md5
host all all 127.0.0.1/32 md5
# IPv6 local connections:
# Original:
#host all all ::1/128 md5
# Neu:
host all all ::/0 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 md5
#host replication postgres ::1/128 md5
# -----------------------------
# PostgreSQL configuration file
# -----------------------------
#
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost', '*' = all
# (change requires restart)
port = 5432 # (change requires restart)
max_connections = 100 # (change requires restart)
答案 0 :(得分:1)
没有与postgresql相关的问题,因为postgresql连接是从服务器完成的,所以问题是配置文件,正好是 jsonrpc 选项。
基本上这个设置用于说明哪个本地接口/ ip将tryton监听连接:
所以如果你使用:
jsonrpc = 23.97.165.118:8000
服务器将侦听23.97.165.118,并且只接受目的地为23.97.165.118的连接,因此当localhost映射到127.0.0.1
时,您将无法访问它。说过我会建议使用以下设置:
jsonrpc = *:8000
将侦听服务器的所有接口(localhost和您拥有的任何外部连接)。
注意:必须重新启动tryton服务器才能在配置文件中应用更改。
答案 1 :(得分:1)
我有同样的问题,接受的答案中的建议实际上是我的麻烦的原因。 correct syntax(至少对于最新版本,3.4到3.8)如下:
[jsonrpc]
listen = *:8000