ab fails to connect to localhost
Posted jack-star
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ab fails to connect to localhost相关的知识,希望对你有一定的参考价值。
The following command fails: $ ab -n 1 localhost:8000/ ... Benchmarking localhost (be patient)...apr_socket_recv: Connection refused (111) But this one succeeds: $ ab -n 1 127.0.0.1:8000/ In /etc/hosts I have: 127.0.0.1 localhost.localdomain localhost ::1 localhost.localdomain localhost The issue here is caused by ab taking the first result returned by apr_sockaddr_info_get: https://github.com/apache/httpd/blob/2.4.29/support/ab.c#L1835-L1837 But apr_sockaddr_info_get returns a list. If it were to try the second sockaddr structure, it would connect. This way it works: rv = apr_sockaddr_info_get(&sa, REMOTE_HOST, APR_UNSPEC, REMOTE_PORT, 0, mp); if (rv != APR_SUCCESS) { return rv; } for ( ; sa; sa = sa->next) { rv = apr_socket_create(&s, sa->family, SOCK_STREAM, APR_PROTO_TCP, mp); if (rv != APR_SUCCESS) { return rv; } apr_socket_opt_set(s, APR_SO_NONBLOCK, 1); apr_socket_timeout_set(s, SOCK_TIMEOUT); rv = apr_socket_connect(s, sa); if (rv == ECONNREFUSED) { continue; } else if (rv == APR_SUCCESS) { break; } else { return rv; } } apr_socket_opt_set(s, APR_SO_NONBLOCK, 0); apr_socket_timeout_set(s, SOCK_TIMEOUT); Other tools (like, curl, wget, w3m) deal with it just fine. P.S. A couple of links just in case https://gist.github.com/x-yuri/5ad28ac0a22ca19a7c3073ce0de5abf0 https://gist.github.com/x-yuri/95fd4776fb9bf8f1eaae7eb2e7ed6bd4
以上是关于ab fails to connect to localhost的主要内容,如果未能解决你的问题,请参考以下文章
GlideException: Failed to load resource……java.net.SocketTimeoutException(failed to connect to xxx)
centos ssh 使用systemctl报错:Failed to get D-Bus connection: Operation not permitted
error: failed to connect to the hypervisor error: Failed to connect socket to '/var/run/libvirt/
记录:master - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl...解决方案
记录:master - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl...解决方案
start: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: