我在将 Jetty Web 套接字客户端连接到服务器时遇到了间歇性问题。Jetty 的好心人向我保证这不是 Jetty 的问题。
在服务器端我有 apache 和 mod proxy_wstunnel 代理到 tomcat 7。
当我将 apache 从图片中移除并将客户端直接连接到 tomcat 时,错误似乎消失了。此外,当我在 Linux 上运行客户端时似乎不会发生错误,该问题似乎仅发生在 Windows 7 上。
我注意到 apache 在某个阶段返回了一个 500 个 html 页面,但是,即使我将日志级别设置为调试,我也没有得到任何关于如何解决错误的有用信息。
如果有人能帮我解决这个问题,我将不胜感激。我在谷歌上搜索了好几个小时,但毫无帮助。
软件版本为:
apache 服务器版本:Apache/2.4.7 (Ubuntu),服务器构建于:2014 年 7 月 22 日 14:36:38 tomcat Apache Tomcat/7.0.52 (Ubuntu) 1.8.0_25-b17 Oracle Corporation Linux 3.13.0-32-generic Jetty 客户端:9.2.6.v20141205
apache wstunnel 配置:
<VirtualHost *:80>
ServerName ws.redacted.io
ServerAdmin webmaster@localhost
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory />
AllowOverride none
Require all denied
</Directory>
LogLevel debug
ProxyPass /redacted-srv/ ws://localhost:8080/redacted-srv/
ProxyPassReverse /redacted-srv/ ws://localhost:8080/redacted-srv/
</VirtualHost>
apache错误日志:
[Mon Dec 29 13:33:21.355169 2014] [mpm_event:notice] [pid 1074:tid 140252728342400] AH00491: caught SIGTERM, shutting down
[Mon Dec 29 13:33:22.141202 2014] [mpm_event:notice] [pid 9328:tid 140463177648000] AH00489: Apache/2.4.7 (Ubuntu) mod_jk/1.2.37 configured -- resuming normal operations
[Mon Dec 29 13:33:22.141279 2014] [core:notice] [pid 9328:tid 140463177648000] AH00094: Command line: '/usr/sbin/apache2'
[Mon Dec 29 13:33:22.141935 2014] [proxy:debug] [pid 9331:tid 140463177648000] proxy_util.c(1694): AH00925: initializing worker ws://localhost:8080/redacted-srv/ shared
[Mon Dec 29 13:33:22.141977 2014] [proxy:debug] [pid 9331:tid 140463177648000] proxy_util.c(1734): AH00927: initializing worker ws://localhost:8080/redacted-srv/ local
[Mon Dec 29 13:33:22.141993 2014] [proxy:debug] [pid 9331:tid 140463177648000] proxy_util.c(1769): AH00930: initialized pool in child 9331 for (localhost) min=0 max=25 smax=25
[Mon Dec 29 13:33:22.142526 2014] [proxy:debug] [pid 9330:tid 140463177648000] proxy_util.c(1694): AH00925: initializing worker ws://localhost:8080/redacted-srv/ shared
[Mon Dec 29 13:33:22.142574 2014] [proxy:debug] [pid 9330:tid 140463177648000] proxy_util.c(1734): AH00927: initializing worker ws://localhost:8080/redacted-srv/ local
[Mon Dec 29 13:33:22.142595 2014] [proxy:debug] [pid 9330:tid 140463177648000] proxy_util.c(1769): AH00930: initialized pool in child 9330 for (localhost) min=0 max=25 smax=25
[Mon Dec 29 13:33:33.367328 2014] [authz_core:debug] [pid 9331:tid 140463053694720] mod_authz_core.c(828): [client 105.210.40.30:50872] AH01628: authorization result: granted (no directives)
[Mon Dec 29 13:33:33.367463 2014] [proxy:debug] [pid 9331:tid 140463053694720] mod_proxy.c(1104): [client 105.210.40.30:50872] AH01143: Running scheme ws handler (attempt 0)
[Mon Dec 29 13:33:33.367483 2014] [proxy_http:debug] [pid 9331:tid 140463053694720] mod_proxy_http.c(1892): [client 105.210.40.30:50872] AH01113: HTTP: declining URL ws://localhost:8080/redacted-srv/ws
[Mon Dec 29 13:33:33.367493 2014] [proxy_wstunnel:debug] [pid 9331:tid 140463053694720] mod_proxy_wstunnel.c(331): [client 105.210.40.30:50872] AH02451: serving URL ws://localhost:8080/redacted-srv/ws
[Mon Dec 29 13:33:33.367517 2014] [proxy:debug] [pid 9331:tid 140463053694720] proxy_util.c(2020): AH00942: WS: has acquired connection for (localhost)
[Mon Dec 29 13:33:33.367526 2014] [proxy:debug] [pid 9331:tid 140463053694720] proxy_util.c(2072): [client 105.210.40.30:50872] AH00944: connecting ws://localhost:8080/redacted-srv/ws to localhost:8080
[Mon Dec 29 13:33:33.367767 2014] [proxy:debug] [pid 9331:tid 140463053694720] proxy_util.c(2206): [client 105.210.40.30:50872] AH00947: connected /redacted-srv/ws to localhost:8080
[Mon Dec 29 13:33:33.367913 2014] [proxy:debug] [pid 9331:tid 140463053694720] proxy_util.c(2610): AH00962: WS: connection complete to 127.0.0.1:8080 (localhost)
[Mon Dec 29 13:33:33.384725 2014] [proxy_wstunnel:debug] [pid 9331:tid 140463053694720] mod_proxy_wstunnel.c(253): [client 105.210.40.30:50872] AH02445: woke from poll(), i=1
[Mon Dec 29 13:33:33.384776 2014] [proxy_wstunnel:debug] [pid 9331:tid 140463053694720] mod_proxy_wstunnel.c(262): [client 105.210.40.30:50872] AH02446: sock was readable
[Mon Dec 29 13:33:33.811469 2014] [proxy_wstunnel:debug] [pid 9331:tid 140463053694720] mod_proxy_wstunnel.c(253): [client 105.210.40.30:50872] AH02445: woke from poll(), i=1
[Mon Dec 29 13:33:33.811558 2014] [proxy_wstunnel:debug] [pid 9331:tid 140463053694720] mod_proxy_wstunnel.c(278): [client 105.210.40.30:50872] AH02448: client was readable
[Mon Dec 29 13:33:33.858796 2014] [proxy_wstunnel:debug] [pid 9331:tid 140463053694720] mod_proxy_wstunnel.c(253): [client 105.210.40.30:50872] AH02445: woke from poll(), i=1
[Mon Dec 29 13:33:33.858827 2014] [proxy_wstunnel:debug] [pid 9331:tid 140463053694720] mod_proxy_wstunnel.c(262): [client 105.210.40.30:50872] AH02446: sock was readable
[Mon Dec 29 13:33:33.860386 2014] [proxy_wstunnel:debug] [pid 9331:tid 140463053694720] mod_proxy_wstunnel.c(253): [client 105.210.40.30:50872] AH02445: woke from poll(), i=1
[Mon Dec 29 13:33:33.860400 2014] [proxy_wstunnel:debug] [pid 9331:tid 140463053694720] mod_proxy_wstunnel.c(262): [client 105.210.40.30:50872] AH02446: sock was readable
[Mon Dec 29 13:34:02.718967 2014] [proxy_wstunnel:debug] [pid 9331:tid 140463053694720] mod_proxy_wstunnel.c(253): [client 105.210.40.30:50872] AH02445: woke from poll(), i=1
[Mon Dec 29 13:34:02.719083 2014] [proxy_wstunnel:debug] [pid 9331:tid 140463053694720] mod_proxy_wstunnel.c(278): [client 105.210.40.30:50872] AH02448: client was readable
[Mon Dec 29 13:34:02.719152 2014] [proxy:debug] [pid 9331:tid 140463053694720] proxy_util.c(2035): AH00943: WS: has released connection for (localhost)
[Mon Dec 29 13:34:10.503173 2014] [authz_core:debug] [pid 9330:tid 140463078872832] mod_authz_core.c(828): [client 105.210.40.30:50890] AH01628: authorization result: granted (no directives)
[Mon Dec 29 13:34:10.503299 2014] [proxy:debug] [pid 9330:tid 140463078872832] mod_proxy.c(1104): [client 105.210.40.30:50890] AH01143: Running scheme ws handler (attempt 0)
[Mon Dec 29 13:34:10.503313 2014] [proxy_http:debug] [pid 9330:tid 140463078872832] mod_proxy_http.c(1892): [client 105.210.40.30:50890] AH01113: HTTP: declining URL ws://localhost:8080/redacted-srv/ws
[Mon Dec 29 13:34:10.503329 2014] [proxy_wstunnel:debug] [pid 9330:tid 140463078872832] mod_proxy_wstunnel.c(331): [client 105.210.40.30:50890] AH02451: serving URL ws://localhost:8080/redacted-srv/ws
[Mon Dec 29 13:34:10.503349 2014] [proxy:debug] [pid 9330:tid 140463078872832] proxy_util.c(2020): AH00942: WS: has acquired connection for (localhost)
[Mon Dec 29 13:34:10.503357 2014] [proxy:debug] [pid 9330:tid 140463078872832] proxy_util.c(2072): [client 105.210.40.30:50890] AH00944: connecting ws://localhost:8080/redacted-srv/ws to localhost:8080
[Mon Dec 29 13:34:10.503618 2014] [proxy:debug] [pid 9330:tid 140463078872832] proxy_util.c(2206): [client 105.210.40.30:50890] AH00947: connected /redacted-srv/ws to localhost:8080
[Mon Dec 29 13:34:10.503781 2014] [proxy:debug] [pid 9330:tid 140463078872832] proxy_util.c(2610): AH00962: WS: connection complete to 127.0.0.1:8080 (localhost)
[Mon Dec 29 13:34:10.507443 2014] [proxy_wstunnel:debug] [pid 9330:tid 140463078872832] mod_proxy_wstunnel.c(253): [client 105.210.40.30:50890] AH02445: woke from poll(), i=1
[Mon Dec 29 13:34:10.507463 2014] [proxy_wstunnel:debug] [pid 9330:tid 140463078872832] mod_proxy_wstunnel.c(262): [client 105.210.40.30:50890] AH02446: sock was readable
[Mon Dec 29 13:34:10.967619 2014] [proxy_wstunnel:debug] [pid 9330:tid 140463078872832] mod_proxy_wstunnel.c(253): [client 105.210.40.30:50890] AH02445: woke from poll(), i=1
[Mon Dec 29 13:34:10.967682 2014] [proxy_wstunnel:debug] [pid 9330:tid 140463078872832] mod_proxy_wstunnel.c(278): [client 105.210.40.30:50890] AH02448: client was readable
[Mon Dec 29 13:34:10.993060 2014] [proxy_wstunnel:debug] [pid 9330:tid 140463078872832] mod_proxy_wstunnel.c(253): [client 105.210.40.30:50890] AH02445: woke from poll(), i=1
[Mon Dec 29 13:34:10.993093 2014] [proxy_wstunnel:debug] [pid 9330:tid 140463078872832] mod_proxy_wstunnel.c(262): [client 105.210.40.30:50890] AH02446: sock was readable
[Mon Dec 29 13:34:10.996379 2014] [proxy_wstunnel:debug] [pid 9330:tid 140463078872832] mod_proxy_wstunnel.c(253): [client 105.210.40.30:50890] AH02445: woke from poll(), i=1
[Mon Dec 29 13:34:10.996421 2014] [proxy_wstunnel:debug] [pid 9330:tid 140463078872832] mod_proxy_wstunnel.c(262): [client 105.210.40.30:50890] AH02446: sock was readable
[Mon Dec 29 13:34:39.916202 2014] [proxy_wstunnel:debug] [pid 9330:tid 140463078872832] mod_proxy_wstunnel.c(253): [client 105.210.40.30:50890] AH02445: woke from poll(), i=1
[Mon Dec 29 13:34:39.916286 2014] [proxy_wstunnel:debug] [pid 9330:tid 140463078872832] mod_proxy_wstunnel.c(278): [client 105.210.40.30:50890] AH02448: client was readable
[Mon Dec 29 13:34:39.916378 2014] [proxy:debug] [pid 9330:tid 140463078872832] proxy_util.c(2035): AH00943: WS: has released connection for (localhost)
[Mon Dec 29 13:34:45.982784 2014] [authz_core:debug] [pid 9331:tid 140463062087424] mod_authz_core.c(828): [client 105.210.40.30:50911] AH01628: authorization result: granted (no directives)
[Mon Dec 29 13:34:45.982890 2014] [proxy:debug] [pid 9331:tid 140463062087424] mod_proxy.c(1104): [client 105.210.40.30:50911] AH01143: Running scheme ws handler (attempt 0)
[Mon Dec 29 13:34:45.982900 2014] [proxy_http:debug] [pid 9331:tid 140463062087424] mod_proxy_http.c(1892): [client 105.210.40.30:50911] AH01113: HTTP: declining URL ws://localhost:8080/redacted-srv/ws
[Mon Dec 29 13:34:45.982907 2014] [proxy_wstunnel:debug] [pid 9331:tid 140463062087424] mod_proxy_wstunnel.c(331): [client 105.210.40.30:50911] AH02451: serving URL ws://localhost:8080/redacted-srv/ws
[Mon Dec 29 13:34:45.982927 2014] [proxy:debug] [pid 9331:tid 140463062087424] proxy_util.c(2020): AH00942: WS: has acquired connection for (localhost)
[Mon Dec 29 13:34:45.982947 2014] [proxy:debug] [pid 9331:tid 140463062087424] proxy_util.c(2072): [client 105.210.40.30:50911] AH00944: connecting ws://localhost:8080/redacted-srv/ws to localhost:8080
[Mon Dec 29 13:34:45.982957 2014] [proxy:debug] [pid 9331:tid 140463062087424] proxy_util.c(2206): [client 105.210.40.30:50911] AH00947: connected /redacted-srv/ws to localhost:8080
[Mon Dec 29 13:34:45.983079 2014] [proxy_wstunnel:debug] [pid 9331:tid 140463062087424] mod_proxy_wstunnel.c(253): [client 105.210.40.30:50911] AH02445: woke from poll(), i=1
[Mon Dec 29 13:34:45.983090 2014] [proxy_wstunnel:debug] [pid 9331:tid 140463062087424] mod_proxy_wstunnel.c(262): [client 105.210.40.30:50911] AH02446: sock was readable
[Mon Dec 29 13:34:45.983171 2014] [proxy:debug] [pid 9331:tid 140463062087424] proxy_util.c(2035): AH00943: WS: has
released connection for (localhost)
端口 80 上的 ngrep 输出(在 apache 和 websocket 客户端之间)
filter: (ip or ip6) and ( port 80 )
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [S]
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [AS]
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [A]
00 00 00 00 00 00 ......
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [AP]
47 45 54 20 2f 74 72 61 6e 73 6c 61 74 6f 72 2d GET /trandomain-
73 72 76 2f 77 73 20 48 54 54 50 2f 31 2e 31 0d srv/ws HTTP/1.1.
0a 48 6f 73 74 3a 20 77 73 2e 73 6c 61 74 6f 72 .Host: ws.domain
2e 69 6f 0d 0a 55 70 67 72 61 64 65 3a 20 77 65 .io..Upgrade: we
62 73 6f 63 6b 65 74 0d 0a 43 6f 6e 6e 65 63 74 bsocket..Connect
69 6f 6e 3a 20 55 70 67 72 61 64 65 0d 0a 53 65 ion: Upgrade..Se
63 2d 57 65 62 53 6f 63 6b 65 74 2d 4b 65 79 3a c-WebSocket-Key:
20 56 50 54 4a 79 42 6b 30 36 38 65 7a 66 30 62 VPTJyBk068ezf0b
34 57 66 41 39 73 51 3d 3d 0d 0a 53 65 63 2d 57 4WfA9sQ==..Sec-W
65 62 53 6f 63 6b 65 74 2d 56 65 72 73 69 6f 6e ebSocket-Version
3a 20 31 33 0d 0a 50 72 61 67 6d 61 3a 20 6e 6f : 13..Pragma: no
2d 63 61 63 68 65 0d 0a 43 61 63 68 65 2d 43 6f -cache..Cache-Co
6e 74 72 6f 6c 3a 20 6e 6f 2d 63 61 63 68 65 0d ntrol: no-cache.
0a 0d 0a ...
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [A]
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [AP]
48 54 54 50 2f 31 2e 31 20 31 30 31 20 53 77 69 HTTP/1.1 101 Swi
74 63 68 69 6e 67 20 50 72 6f 74 6f 63 6f 6c 73 tching Protocols
0d 0a 53 65 72 76 65 72 3a 20 41 70 61 63 68 65 ..Server: Apache
2d 43 6f 79 6f 74 65 2f 31 2e 31 0d 0a 55 70 67 -Coyote/1.1..Upg
72 61 64 65 3a 20 77 65 62 73 6f 63 6b 65 74 0d rade: websocket.
0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 75 70 67 .Connection: upg
72 61 64 65 0d 0a 53 65 63 2d 57 65 62 53 6f 63 rade..Sec-WebSoc
6b 65 74 2d 41 63 63 65 70 74 3a 20 31 4a 51 76 ket-Accept: 1JQv
41 2f 43 56 55 5a 38 59 6d 4d 4a 38 70 62 33 53 A/CVUZ8YmMJ8pb3S
48 33 51 47 56 4e 34 3d 0d 0a 44 61 74 65 3a 20 H3QGVN4=..Date:
57 65 64 2c 20 32 34 20 44 65 63 20 32 30 31 34 Wed, 24 Dec 2014
20 31 34 3a 33 31 3a 31 37 20 47 4d 54 0d 0a 0d 14:31:17 GMT...
0a .
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [AP]
82 9c ea 9e d0 54 e2 9e c3 1e eb af c4 47 a0 98 .....T.......G..
a4 31 99 ea e1 61 fe 8d 9a 53 9e fb a3 20 db ac .1...a...S... ..
e3 40 .@
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [A]
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [AP]
82 09 ..
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [AP]
08 00 13 4a 03 32 37 30 14 ...J.270.
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [A]
00 00 00 00 00 00 ......
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [AP]
88 8a bc 23 03 08 bf ca 50 60 c9 57 67 67 cb 4d ...#....P.Wgg.M
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [A]
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [AF]
00 00 00 00 00 00 ......
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [AF]
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [AFP]
88 8a bc 23 03 08 bf ca 50 60 c9 57 67 67 cb 4d ...#....P
.Wgg.M
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [A]
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [AFP]
88 8a bc 23 03 08 bf ca 50 60 c9 57 67 67 cb 4d ...#....P.Wgg.M
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [A]
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [AF]
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [AFP]
88 8a bc 23 03 08 bf ca 50 60 c9 57 67 67 cb 4d ...#....P
.Wgg.M
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [A]
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [AF]
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [S]
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [AS]
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [A]
00 00 00 00 00 00 ......
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [AP]
47 45 54 20 2f 74 72 61 6e 73 6c 61 74 6f 72 2d GET /trandomain-
73 72 76 2f 77 73 20 48 54 54 50 2f 31 2e 31 0d srv/ws HTTP/1.1.
0a 48 6f 73 74 3a 20 77 73 2e 73 6c 61 74 6f 72 .Host: ws.domain
2e 69 6f 0d 0a 55 70 67 72 61 64 65 3a 20 77 65 .io..Upgrade: we
62 73 6f 63 6b 65 74 0d 0a 43 6f 6e 6e 65 63 74 bsocket..Connect
69 6f 6e 3a 20 55 70 67 72 61 64 65 0d 0a 53 65 ion: Upgrade..Se
63 2d 57 65 62 53 6f 63 6b 65 74 2d 4b 65 79 3a c-WebSocket-Key:
20 53 35 65 55 79 36 78 6a 55 53 70 51 46 57 47 S5eUy6xjUSpQFWG
37 2b 4a 4d 66 2b 51 3d 3d 0d 0a 53 65 63 2d 57 7+JMf+Q==..Sec-W
65 62 53 6f 63 6b 65 74 2d 56 65 72 73 69 6f 6e ebSocket-Version
3a 20 31 33 0d 0a 50 72 61 67 6d 61 3a 20 6e 6f : 13..Pragma: no
2d 63 61 63 68 65 0d 0a 43 61 63 68 65 2d 43 6f -cache..Cache-Co
6e 74 72 6f 6c 3a 20 6e 6f 2d 63 61 63 68 65 0d ntrol: no-cache.
0a 0d 0a ...
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [A]
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [AP]
48 54 54 50 2f 31 2e 31 20 31 30 31 20 53 77 69 HTTP/1.1 101 Swi
74 63 68 69 6e 67 20 50 72 6f 74 6f 63 6f 6c 73 tching Protocols
0d 0a 53 65 72 76 65 72 3a 20 41 70 61 63 68 65 ..Server: Apache
2d 43 6f 79 6f 74 65 2f 31 2e 31 0d 0a 55 70 67 -Coyote/1.1..Upg
72 61 64 65 3a 20 77 65 62 73 6f 63 6b 65 74 0d rade: websocket.
0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 75 70 67 .Connection: upg
72 61 64 65 0d 0a 53 65 63 2d 57 65 62 53 6f 63 rade..Sec-WebSoc
6b 65 74 2d 41 63 63 65 70 74 3a 20 52 56 43 4b ket-Accept: RVCK
72 41 6c 7a 59 30 66 4b 38 38 61 4d 43 30 61 37 rAlzY0fK88aMC0a7
6e 31 74 62 35 71 38 3d 0d 0a 44 61 74 65 3a 20 n1tb5q8=..Date:
57 65 64 2c 20 32 34 20 44 65 63 20 32 30 31 34 Wed, 24 Dec 2014
20 31 34 3a 33 31 3a 33 39 20 47 4d 54 0d 0a 0d 14:31:39 GMT...
0a .
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [AF]
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [A]
00 00 00 00 00 00 ......
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [AP]
82 9c a1 86 a8 97 a9 86 bb dd a0 b7 bc 84 eb 80 ................
dc f2 d2 f2 99 a2 b5 95 e2 90 d5 e3 db e3 90 b4 ................
9b 83 ..
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [AP]
82 09 ..
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [AP]
08 00 13 4a 03 32 37 30 14 ...J.270.
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [AFP]
88 8a bc 23 03 08 bf ca 50 60 c9 57 67 67 cb 4d ...#....P.Wgg.M
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [A]
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [A]
00 00 00 00 00 00 ......
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [AF]
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [AFP]
88 8a bc 23 03 08 bf ca 50 60 c9 57 67 67 cb 4d ...#....P
.Wgg.M
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [A]
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [AP]
88 8a ad d9 9f c4 ae 30 cc ac d8 ad fb ab da b7 .......0........
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [AF]
00 00 00 00 00 00 ......
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [AF]
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [AFP]
88 8a ad d9 9f c4 ae 30 cc ac d8 ad fb ab da b7 .......0........
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [A]
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [AFP]
88 8a ad d9 9f c4 ae 30 cc ac d8 ad fb ab da b7 .......0........
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [A]
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [AF]
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [AFP]
88 8a ad d9 9f c4 ae 30 cc ac d8 ad fb ab da b7 .......0........
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [A]
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [AF]
#
T 105.210.y.y:49991 -> 104.131.x.x:80 [S]
#
T 104.131.x.x:80 -> 105.210.y.y:49991 [AS]
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [AF]
#
T 105.210.y.y:49991 -> 104.131.x.x:80 [A]
00 00 00 00 00 00 ......
#
T 105.210.y.y:49991 -> 104.131.x.x:80 [AP]
47 45 54 20 2f 74 72 61 6e 73 6c 61 74 6f 72 2d GET /trandomain-
73 72 76 2f 77 73 20 48 54 54 50 2f 31 2e 31 0d srv/ws HTTP/1.1.
0a 48 6f 73 74 3a 20 77 73 2e 73 6c 61 74 6f 72 .Host: ws.domain
2e 69 6f 0d 0a 55 70 67 72 61 64 65 3a 20 77 65 .io..Upgrade: we
62 73 6f 63 6b 65 74 0d 0a 43 6f 6e 6e 65 63 74 bsocket..Connect
69 6f 6e 3a 20 55 70 67 72 61 64 65 0d 0a 53 65 ion: Upgrade..Se
63 2d 57 65 62 53 6f 63 6b 65 74 2d 4b 65 79 3a c-WebSocket-Key:
20 62 45 54 54 44 72 77 54 75 69 64 4f 67 4a 4a bETTDrwTuidOgJJ
68 73 56 7a 31 4c 41 3d 3d 0d 0a 53 65 63 2d 57 hsVz1LA==..Sec-W
65 62 53 6f 63 6b 65 74 2d 56 65 72 73 69 6f 6e ebSocket-Version
3a 20 31 33 0d 0a 50 72 61 67 6d 61 3a 20 6e 6f : 13..Pragma: no
2d 63 61 63 68 65 0d 0a 43 61 63 68 65 2d 43 6f -cache..Cache-Co
6e 74 72 6f 6c 3a 20 6e 6f 2d 63 61 63 68 65 0d ntrol: no-cache.
0a 0d 0a ...
#
T 104.131.x.x:80 -> 105.210.y.y:49991 [A]
#
T 104.131.x.x:80 -> 105.210.y.y:49991 [AP]
88 0a 03 e9 53 68 75 74 64 6f 77 6e ....Shutdown
#
T 104.131.x.x:80 -> 105.210.y.y:49991 [AP]
3c 21 44 4f 43 54 59 50 45 20 48 54 4d 4c 20 50 ..
3c 74 69 74 6c 65 3e 35 30 30 20 49 6e 74 65 72 500 Inter
6e 61 6c 20 53 65 72 76 65 72 20 45 72 72 6f 72 nal Server Error
3c 2f 74 69 74 6c 65 3e 0a 3c 2f 68 65 61 64 3e .
3c 62 6f 64 79 3e 0a 3c 68 31 3e 49 6e 74 65 72 .
Inter
6e 61 6c 20 53 65 72 76 65 72 20 45 72 72 6f 72 nal Server Error
3c 2f 68 31 3e 0a 3c 70 3e 54 68 65 20 73 65 72
.
The ser
76 65 72 20 65 6e 63 6f 75 6e 74 65 72 65 64 20 ver encountered
61 6e 20 69 6e 74 65 72 6e 61 6c 20 65 72 72 6f an internal erro
72 20 6f 72 0a 6d 69 73 63 6f 6e 66 69 67 75 72 r or.misconfigur
61 74 69 6f 6e 20 61 6e 64 20 77 61 73 20 75 6e ation and was un
61 62 6c 65 20 74 6f 20 63 6f 6d 70 6c 65 74 65 able to complete
0a 79 6f 75 72 20 72 65 71 75 65 73 74 2e 3c 2f .your request..
Please con
74 61 63 74 20 74 68 65 20 73 65 72 76 65 72 20 tact the server
61 64 6d 69 6e 69 73 74 72 61 74 6f 72 20 61 74 administrator at
20 0a 20 77 65 62 6d 61 73 74 65 72 40 6c 6f 63 . webmaster@loc
61 6c 68 6f 73 74 20 74 6f 20 69 6e 66 6f 72 6d alhost to inform
20 74 68 65 6d 20 6f 66 20 74 68 65 20 74 69 6d them of the tim
65 20 74 68 69 73 20 65 72 72 6f 72 20 6f 63 63 e this error occ
75 72 72 65 64 2c 0a 20 61 6e 64 20 74 68 65 20 urred,. and the
61 63 74 69 6f 6e 73 20 79 6f 75 20 70 65 72 66 actions you perf
6f 72 6d 65 64 20 6a 75 73 74 20 62 65 66 6f 72 ormed just befor
65 20 74 68 69 73 20 65 72 72 6f 72 2e 3c 2f 70 e this error..
More inform
61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 69 73 ation about this
20 65 72 72 6f 72 20 6d 61 79 20 62 65 20 61 76 error may be av
61 69 6c 61 62 6c 65 0a 69 6e 20 74 68 65 20 73 ailable.in the s
65 72 76 65 72 20 65 72 72 6f 72 20 6c 6f 67 2e erver error log.
3c 2f 70 3e 0a 3c 68 72 3e 0a 3c 61 64 64 72 65
.
.Apache/2.4.7
28 55 62 75 6e 74 75 29 20 53 65 72 76 65 72 20 (Ubuntu) Server
61 74 20 77 73 2e 73 6c 61 74 6f 72 2e 69 6f 20 at ws.domain.io
50 6f 72 74 20 38 30 3c 2f 61 64 64 72 65 73 73 Port 80.
0a .
#
T 104.131.x.x:80 -> 105.210.y.y:49991 [AF]
#
T 105.210.y.y:49991 -> 104.131.x.x:80 [A]
00 00 00 00 00 00 ......
#
T 105.210.y.y:49991 -> 104.131.x.x:80 [A]
00 00 00 00 00 00 ......
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [AFP]
88 8a ad d9 9f c4 ae 30 cc ac d8 ad fb ab da b7 .......0........
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [A]
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [AF]
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [AR]
00 00 00 00 00 00 ......
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [AF]
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [AFP]
88 8a ad d9 9f c4 ae 30 cc ac d8 ad fb ab da b7 .......0........
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [A]
#
T 105.210.y.y:49991 -> 104.131.x.x:80 [AF]
00 00 00 00 00 00 ......
#
T 104.131.x.x:80 -> 105.210.y.y:49991 [A]
#
T 105.210.y.y:49991 -> 104.131.x.x:80 [AF]
00 00 00 00 00 00 ......
#
T 104.131.x.x:80 -> 105.210.y.y:49991 [A]
#
T 105.210.y.y:49991 -> 104.131.x.x:80 [AF]
00 00 00 00 00 00 ......
#
T 104.131.x.x:80 -> 105.210.y.y:49991 [A]
#
T 105.210.y.y:49991 -> 104.131.x.x:80 [AF]
00 00 00 00 00 00 ......
#
T 104.131.x.x:80 -> 105.210.y.y:49991 [A]
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [AF]
#
T 105.210.y.y:49991 -> 104.131.x.x:80 [AF]
00 00 00 00 00 00 ......
#
T 104.131.x.x:80 -> 105.210.y.y:49991 [A]
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [AR]
00 00 00 00 00 00 ......
#
T 105.210.y.y:49991 -> 104.131.x.x:80 [AF]
00 00 00 00 00 00 ......
#
T 104.131.x.x:80 -> 105.210.y.y:49991 [A]
exit
83 received, 0 dropped
端口 8080 上的 ngrep 输出(apache 和 tomcat 之间)
interface: lo (127.0.0.0/255.0.0.0)
filter: (ip or ip6) and ( port 8080 )
#
T 127.0.0.1:57952 -> 127.0.0.1:8080 [AP]
47 45 54 20 2f 74 72 61 6e 73 6c 61 74 6f 72 2d GET /translator-
73 72 76 2f 77 73 20 48 54 54 50 2f 31 2e 31 0d srv/ws HTTP/1.1.
0a 48 6f 73 74 3a 20 6c 6f 63 61 6c 68 6f 73 74 .Host: localhost
3a 38 30 38 30 0d 0a 53 65 63 2d 57 65 62 53 6f :8080..Sec-WebSo
63 6b 65 74 2d 4b 65 79 3a 20 64 36 57 73 6c 6b cket-Key: d6Wslk
56 48 77 79 4d 47 77 62 5a 4f 6c 71 56 53 2b 51 VHwyMGwbZOlqVS+Q
3d 3d 0d 0a 53 65 63 2d 57 65 62 53 6f 63 6b 65 ==..Sec-WebSocke
74 2d 56 65 72 73 69 6f 6e 3a 20 31 33 0d 0a 50 t-Version: 13..P
72 61 67 6d 61 3a 20 6e 6f 2d 63 61 63 68 65 0d ragma: no-cache.
0a 43 61 63 68 65 2d 43 6f 6e 74 72 6f 6c 3a 20 .Cache-Control:
6e 6f 2d 63 61 63 68 65 0d 0a 58 2d 46 6f 72 77 no-cache..X-Forw
61 72 64 65 64 2d 46 6f 72 3a 20 31 30 35 2e 32 arded-For: 105.2
31 30 2e 33 38 2e 31 34 39 0d 0a 58 2d 46 6f 72 10.38.149..X-For
77 61 72 64 65 64 2d 48 6f 73 74 3a 20 77 73 2e warded-Host: ws.
73 6c 61 74 6f 72 2e 69 6f 0d 0a 58 2d 46 6f 72 slator.io..X-For
77 61 72 64 65 64 2d 53 65 72 76 65 72 3a 20 77 warded-Server: w
73 2e 73 6c 61 74 6f 72 2e 69 6f 0d 0a 55 70 67 s.slator.io..Upg
72 61 64 65 3a 20 57 65 62 53 6f 63 6b 65 74 0d rade: WebSocket.
0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 55 70 67 .Connection: Upg
72 61 64 65 0d 0a 0d 0a rade....
#
T 127.0.0.1:8080 -> 127.0.0.1:57952 [R]
最后,为了完整性,码头错误
org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception: Not valid UTF8! byte 88 in state 0
答案1
我必须在我的服务器上编译最新版本的 apache,这似乎解决了这个问题。
我创建了这个问题和答案来记录这个过程: