前段時間我在我的 LAMP 服務器上安裝了 Apache Guacamole(Guacd->Tomcat9->Apache [as reverse proxy for guac to be access vhost] ),安裝很簡單,因為說明清晰易懂,并且 Guacamole 實體完美運行無論是 RDP、SSH 還是 VNC。
昨天我遇到了鱷梨醬的問題 - 從前端開始:
Guacamole 服務器發生內部錯誤,連接已終止。如果問題仍然存在,請通知您的系統管理員,或檢查您的系統日志。
所以問題表明,只有 Guacamole 服務器存在問題,讀取 Guacamole 的狀態:
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 以驗證服務可用性:
tcp6 0 0 localhost:4822 [::]:* LISTEN 32307/guacd
并 telnet 到 localhost:4822 :
telnet localhost 4822
Trying ::1...
Connected to localhost.
Escape character is '^]'.
按回車
Connection closed by foreign host.
回到鱷梨醬:
guacd[32307]: Guacamole protocol violation. Perhaps the version of guacamole-client is incompatible with this version of guacd?
因此,由于您不能將 telnet 與 guacamole 一起使用,因此連接已終止,但據我所知,該服務可用并且可以使用。
由于鱷梨醬似乎沒問題,現在是 Tomcat9 的時候了:
[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 日志:
錯誤時刻:
[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 相關,我將不勝感激。
鱷梨醬.properties:
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[local static addr])之間的更改不會產生差異
分析 Apache 日志可能毫無意義,因為嘗試通過 Tomcat9 使用 Guacamole 只提供了相同的結果。
uj5u.com熱心網友回復:
我已經設法解決了這個問題——這個實體失敗的原因是不存在應該基于 /etc/guacamole 本地化的 guacd.conf 檔案,無論我多么努力地系結到 ::1 都不起作用——系結到 IPv4 表示 [127.0.0.1] 作業 - 檢查我所有用戶的歷史記錄以驗證檔案的洗掉,但沒有找到任何東西。奇怪的。
對于這種情況,我最好的建議是跟蹤您當前的組態檔,以便根據需要輕松重新配置,并了解有關組態檔結構的一般知識。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/482057.html
