我在使用https进行围攻时遇到了麻烦.在预装了OpenSSL 1.0.2g和libssl-dev 1.0.2g-1ubuntu4.6的Ubuntu 16.04 LTS上运行Siege 4.0.2.
错误
当我运行它时,我得到了很多这些错误:
[error] HTTPS requires libssl: Unable to reach www.mysite.com with this protocol: Transport endpoint is already connected
还有其中几个
[error] descriptor table full sock.c:133: Too many open files
然后最后
libgcc_s.so.1 must be installed for pthread_cancel to work
[1] 18421 abort (core dumped) sudo siege -t 5M -d1 -c200 -f urls-f1.txt
我的研究
我在网上找到了几个答案,可以让围攻与https一起工作.例如,stackoverflow上的这个线程说"使用--with-ssl选项配置.另外,必须安装openssl开发头".
也许最好的来源是siege包本身的INSTALL文件,其中说:
要启用https,您必须在系统上安装ssl.从http://www.openssl.org获取最新版本.安装了ssl后,你必须配置围攻才能使用它:
$ ./configure --prefix=/some/dir --with-ssl=/ssl/install/dir
Run Code Online (Sandbox Code Playgroud)
openssl默认安装是/ usr/local/ssl.如果您在该目录中安装了openssl,那么您可以像这样配置siege:
$ ./configure --prefix=/some/dir --with-ssl=/usr/local/ssl …Run Code Online (Sandbox Code Playgroud)