Tryton client doesn't connect via Internet port 8000

送分小仙女□ 提交于 2019-12-12 04:43:50

问题


I have Tryton ERP working locally on a VM, functioning correctly.

However, the client cannot connect to it via internet.

nmap reports port 8000 to be "closed", that is, nothing is listening there.

~# nmap -PN -p 8000 <IP>

Starting Nmap 5.21 ( http://nmap.org ) at 2014-03-05 12:29 EST
Nmap scan report for <IP>
Host is up (0.00017s latency).
PORT     STATE  SERVICE
8000/tcp closed http-alt

However, my trytond.conf file looks correct, having

jsonrpc = *:8000

and the database connection parameters. (A different VM set up similarly on Azure works correctly.) Full connection file is below.

AFAIK, netstat reports that it is only listening on localhost for the 8000 port:

~# netstat -tupan | grep 8000
tcp        0      0 127.0.0.1:8000          0.0.0.0:*               LISTEN    
        10051/python
tcp        0      0 127.0.0.1:8000          127.0.0.1:58296         ESTABLISHED 
        10051/python
tcp        0      0 127.0.0.1:58296         127.0.0.1:8000          ESTABLISHED       
        13842/python

Because on my other VM where everything is fine, the netstat output is different:

root@Tryton:~# netstat -tupan | grep 8000
tcp6       0      0 :::8000                 :::*                    LISTEN
        1310/python

But what did I do wrong? My only reference point to change something is the trytond.conf file, right?

Here it is:

#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]

# Activate the json-rpc protocol
jsonrpc = *:8000
#ssl_jsonrpc = False

# This is the hostname used when generating tryton URI
#hostname_jsonrpc =

# 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

# This is the hostname used when generating WebDAV URI
#hostname_webdav =

# 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 = localhost
db_port = 5432
db_user = postgres
db_password = postgres_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_password

# Configure the path of the files for the pid and the logs
#pidfile = False
#logfile = False

#privatekey = server.pem
#certificate = server.pem

# Configure the SMTP connection
#smtp_server = localhost
#smtp_port = 25
#smtp_ssl = False
#smtp_tls = False
#smtp_password = False
#smtp_user = False
#smtp_default_from_email = False

# Configure the path to store attachments and sqlite database
data_path = /var/lib/tryton

# Allow to run more than one instance of trytond
#multi_server = False

# Configure the session timeout (inactivity of the client in sec)
#session_timeout = 600

# Enable auto-reload of modules if changed
#auto_reload = True

# Prevent database listing
#prevent_dblist = False

# Enable cron
# cron = True

# unoconv connection
#unoconv = pipe,name=trytond;urp;StarOffice.ComponentContext

# Number of retries on database operational error
# retry = 5

# Default language code
# language = en_US

# Timezone of the server
timezone = 0

回答1:


It turned out the config file was totally correct, as I thought.

The whole issue was just that the Tryton server had not correctly read it after the changes since there was a problem with its reboot.

Unity desktop reported that it needed to "restart to install updates" (don't I know that from Windows?) and after I did, the port opened automatically.

Before system restart, restarting the Tryton server only yielded:

sudo /etc/init.d/tryton—server restart
* Restarting Tryton Application Platform trytond
start—stop—daemon: warning: failed to kill 18175: No such process    
[ 0K ]

And I had taken the [OK] to imply that the server had restarted anyway. But no, it hadn't!

After system restart, I got the correct message:

sudo /etc/init.d/tryton—server restart
* Restarting Tryton Application Platform trytond
[ 0K ]

And now also the netstat output is correct and the client connects successfully:

# netstat -tupan | grep 8000
tcp6       0      0 :::8000                 :::*                    LISTEN
1792/python



回答2:


I had the same issue and this was actually the cause of my troubles :

However, my trytond.conf file looks correct, having

jsonrpc = *:8000

The correct syntax (at least for recent versions, 3.4 to 3.8) is the following :

[jsonrpc]
listen = *:8000

As a sidenote, running trytond with --verbose flag enables debugging in console (or you can also play with logfiles, feeding trytond with --logconf logconf.conf).



来源:https://stackoverflow.com/questions/22205366/tryton-client-doesnt-connect-via-internet-port-8000

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!