首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tomcat和Guacamole(guacd)服务器- Apache Guacamole之间的连接被拒绝

Tomcat和Guacamole(guacd)服务器- Apache Guacamole之间的连接被拒绝
EN

Stack Overflow用户
提问于 2022-05-20 09:03:17
回答 3查看 2.6K关注 0票数 0

不久前,我在我的LAMP服务器上安装了Apache (Guacd->Tomcat9 9->Apache作为guac可访问vhost的反向代理),安装非常简单,因为指令清晰易懂,而且无论RDP、SSH还是VNC,Guacamole的实例都运行得非常完美。

昨天,我遇到了瓜卡默尔的一个问题--从前面开始:

Guacamole服务器内部发生错误,连接已终止。如果问题仍然存在,请通知系统管理员,或检查系统日志。

因此,该问题指出,单独使用Guacamole服务器存在问题,读取Guacamole的状态:

代码语言:javascript
复制
maj 20 10:02:02 mywebsite.here systemd[1]: Starting LSB: Guacamole proxy daemon...
maj 20 10:02:02 mywebsite.here guacd[32305]: Guacamole proxy daemon (guacd) version 1.4.0 started
maj 20 10:02:02 mywebsite.here guacd[32303]: Starting guacd:
maj 20 10:02:02 mywebsite.here guacd[32305]: guacd[32305]: INFO:        Guacamole proxy daemon (guacd) version 1.4.0 started
maj 20 10:02:02 mywebsite.here guacd[32307]: Listening on host ::1, port 4822
maj 20 10:02:02 mywebsite.here guacd[32303]: SUCCESS
maj 20 10:02:02 mywebsite.here systemd[1]: Started LSB: Guacamole proxy daemon.

从当前的guacd日志中,似乎一切正常,guacd侦听localhost并绑定到4822 -检查netstat以验证服务可用性:

代码语言:javascript
复制
tcp6       0      0 localhost:4822          [::]:*                  LISTEN      32307/guacd

传送到本地主机:4822:

代码语言:javascript
复制
    telnet localhost 4822
    Trying ::1...
    Connected to localhost.
    Escape character is '^]'.

按下回车

代码语言:javascript
复制
Connection closed by foreign host.

回到瓜卡默尔:

代码语言:javascript
复制
guacd[32307]: Guacamole protocol violation. Perhaps the version of guacamole-client is incompatible with this version of guacd?

因此,由于您不能在guacamole中使用telnet,所以连接被终止了,但是从这里我可以看到,服务是可用的&可以使用。

由于瓜卡默尔似乎没问题,现在是Tomcat9的时候了:

代码语言:javascript
复制
[2022-05-20 10:20:26] [info] 10:20:26.434 [http-nio-8080-exec-10] ERROR o.a.g.w.GuacamoleWebSocketTunnelEndpoint - Creation of WebSocket tunnel to guacd failed: java.net.ConnectException: Połączenie odrzucone (Connection refused)
[2022-05-20 10:20:26] [info] 10:20:26.682 [http-nio-8080-exec-8] ERROR o.a.g.s.GuacamoleHTTPTunnelServlet - HTTP tunnel request failed: java.net.ConnectException: Połączenie odrzucone (Connection refused)

越来越清楚的是,问题必须发生在Tomcat9和Guacamole之间,以及Tomcat方面--您对如何调试这个问题有什么想法吗?

日志级别增加的Tomcat日志:

错误时刻:

代码语言:javascript
复制
    [2022-05-24 08:56:11] [info] 08:56:11.135 [http-nio-8080-exec-3] DEBUG o.a.i.d.pooled.PooledDataSource - Testing connection 29049410 ...
    [2022-05-24 08:56:11] [info] 08:56:11.139 [http-nio-8080-exec-3] DEBUG o.a.i.d.pooled.PooledDataSource - Connection 29049410 is GOOD!
    [2022-05-24 08:56:11] [info] 08:56:11.139 [http-nio-8080-exec-3] DEBUG o.a.i.d.pooled.PooledDataSource - Returned connection 29049410 to pool.
    [2022-05-24 08:56:11] [info] 08:56:11.140 [http-nio-8080-exec-3] ERROR o.a.g.w.GuacamoleWebSocketTunnelEndpoint - Creation of WebSocket tunnel to guacd failed: java.net.ConnectException: Połączenie odrzucone (Connection refused)
    [2022-05-24 08:56:11] [info] 08:56:11.159 [http-nio-8080-exec-3] DEBUG o.a.g.w.GuacamoleWebSocketTunnelEndpoint - Error connecting WebSocket tunnel.
    [2022-05-24 08:56:11] [info] org.apache.guacamole.GuacamoleServerException: java.net.ConnectException: Połączenie odrzucone (Connection refused)
    [2022-05-24 08:56:11] [info] #011at org.apache.guacamole.net.InetGuacamoleSocket.<init>(InetGuacamoleSocket.java:114)
    [2022-05-24 08:56:11] [info] #011at org.apache.guacamole.auth.jdbc.tunnel.ManagedInetGuacamoleSocket.<init>(ManagedInetGuacamoleSocket.java:56)
    [2022-05-24 08:56:11] [info] #011at org.apache.guacamole.auth.jdbc.tunnel.AbstractGuacamoleTunnelService.getUnconfiguredGuacamoleSocket(AbstractGuacamoleTunnelService.java:319)
    [2022-05-24 08:56:11] [info] #011at org.apache.guacamole.auth.jdbc.tunnel.AbstractGuacamoleTunnelService.assignGuacamoleTunnel(AbstractGuacamoleTunnelService.java:483)
    [2022-05-24 08:56:11] [info] #011at org.apache.guacamole.auth.jdbc.tunnel.AbstractGuacamoleTunnelService.getGuacamoleTunnel(AbstractGuacamoleTunnelService.java:643)
    [2022-05-24 08:56:11] [info] #011at org.mybatis.guice.transactional.TransactionalMethodInterceptor.invoke(TransactionalMethodInterceptor.java:96)
    [2022-05-24 08:56:11] [info] #011at org.apache.guacamole.auth.jdbc.connection.ConnectionService.connect(ConnectionService.java:548)
    [2022-05-24 08:56:11] [info] #011at org.apache.guacamole.auth.jdbc.connection.ModeledConnection.connect(ModeledConnection.java:274)
    [2022-05-24 08:56:11] [info] #011at org.apache.guacamole.tunnel.TunnelRequestService.createConnectedTunnel(TunnelRequestService.java:216)
    [2022-05-24 08:56:11] [info] #011at org.apache.guacamole.tunnel.TunnelRequestService.createTunnel(TunnelRequestService.java:347)
    [2022-05-24 08:56:11] [info] #011at org.apache.guacamole.tunnel.websocket.RestrictedGuacamoleWebSocketTunnelEndpoint.createTunnel(RestrictedGuacamoleWebSocketTunnelEndpoint.java:113)
    [2022-05-24 08:56:11] [info] #011at org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint.onOpen(GuacamoleWebSocketTunnelEndpoint.java:200)
    [2022-05-24 08:56:11] [info] #011at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.init(WsHttpUpgradeHandler.java:136)
    [2022-05-24 08:56:11] [info] #011at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:934)
    [2022-05-24 08:56:11] [info] #011at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1684)
    [2022-05-24 08:56:11] [info] #011at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    [2022-05-24 08:56:11] [info] #011at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    [2022-05-24 08:56:11] [info] #011at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    [2022-05-24 08:56:11] [info] #011at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    [2022-05-24 08:56:11] [info] #011at java.base/java.lang.Thread.run(Thread.java:829)
    [2022-05-24 08:56:11] [info] Caused by: java.net.ConnectException: Połączenie odrzucone (Connection refused)
    [2022-05-24 08:56:11] [info] #011at java.base/java.net.PlainSocketImpl.socketConnect(Native Method)
    [2022-05-24 08:56:11] [info] #011at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412)
    [2022-05-24 08:56:11] [info] #011at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255)
    [2022-05-24 08:56:11] [info] #011at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237)
    [2022-05-24 08:56:11] [info] #011at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    [2022-05-24 08:56:11] [info] #011at java.base/java.net.Socket.connect(Socket.java:609)
    [2022-05-24 08:56:11] [info] #011at org.apache.guacamole.net.InetGuacamoleSocket.<init>(InetGuacamoleSocket.java:100)
    [2022-05-24 08:56:11] [info] #011... 19 common frames omitted

我对Java一点也不感兴趣,但我相信实际的错误原因在日志的这一部分中。如果这与Java相关,我将感谢任何与Java相关的人来查看并提供他们的意见。

Guacamole.properties:

代码语言:javascript
复制
MySQL properties 
mysql-hostname: 127.0.0.1 
mysql-port: 3306 
mysql-database: guacamole_db 
mysql-username: guacamole_admin
mysql-password: guacamole_******
Hostname and port of guacamole proxy 
guacd-hostname: 192.168.1.49
guacd-port:     4822

本地主机表示之间的更改(127.0.0.1/:1/ localhost /192.168.1.49本地静态地址)没有区别。

对Apache的分析可能毫无意义,因为试图通过Tomcat9使用瓜卡默尔只是提供了相同的结果。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-05-25 08:12:02

我设法解决了这个问题--这个实例失败的原因是不存在基于/etc/guacamole定位的guacd.conf文件,绑定到:1没有工作,无论我多么努力-绑定到IPv4表示127.0.0.1工作-检查了所有用户的历史记录,以验证文件的删除,但没有发现任何发现。真奇怪。

对于这种情况,我最好的建议是跟踪当前的配置文件,以便根据需要进行简单的重新配置,并了解配置文件的结构。

票数 0
EN

Stack Overflow用户

发布于 2022-08-19 09:26:38

从::1 in /etc/host中删除localhost,然后重新启动。效果很好。

票数 0
EN

Stack Overflow用户

发布于 2022-11-12 14:26:25

默认情况下,在启用IPv6的系统上,guacd侦听:1.即使在/etc/guacamole/guacd.conf上指定localhost也不起作用。下面是工作的guacd.conf文件。

代码语言:javascript
复制
[daemon]
pid_file = /var/run/guacd.pid
#log_level = debug

[server]
#bind_host = localhost
bind_host = 127.0.0.1
bind_port = 4822

#[ssl]
#server_certificate = /etc/ssl/certs/guacd.crt
#server_key = /etc/ssl/private/guacd.key

将其设置为debug显示守护进程正在列表::1.将localhost更改为127.0.0.1,它工作了!

还包括客户端的错误,这样人们就可以得出这个问题/答案:在guacamole服务器中发生了一个内部错误,并且连接已经终止。如果问题仍然存在,请通知系统管理员,或检查系统日志。

如果收到此消息,请检查tomcat catalina.out文件中的问题。以下是我对这一问题的看法:

代码语言:javascript
复制
[2022-11-12 07:47:47] [info] 07:47:47.251 [http-nio-8080-exec-2] ERROR o.a.g.w.GuacamoleWebSocketTunnelEndpoint - Creation of WebSocket tunnel to guacd failed: java.net.ConnectException: Connection refused (Connection refused)
[2022-11-12 07:47:47] [info] 07:47:47.301 [http-nio-8080-exec-3] ERROR o.a.g.s.GuacamoleHTTPTunnelServlet - HTTP tunnel request failed: java.net.ConnectException: Connection refused (Connection refused)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72316256

复制
相关文章

相似问题

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