【发布时间】:2017-07-11 02:13:18
【问题描述】:
我无法让 siege 使用 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
我的研究
我在网上找到了一些关于让 siege 使用 https 的答案。例如,this thread on stackoverflow 表示“使用 --with-ssl 选项进行配置。此外,还必须安装 openssl 开发头文件”。
也许最好的来源是 the siege package 本身的 INSTALL 文件,它说:
要启用 https,您必须在系统上安装 ssl。获取
来自http://www.openssl.org 的最新版本。安装 ssl 后,
那么你必须配置 siege 才能使用它:
$ ./configure --prefix=/some/dir --with-ssl=/ssl/install/dir
openssl 默认安装是 /usr/local/ssl。如果你安装了 openssl 在该目录中,然后您将像这样配置围攻:
$ ./configure --prefix=/some/dir --with-ssl=/usr/local/ssl
$ make
$ make uninstall (if you have a previous version already installed)
$ make install
我尝试了所有这些建议,并找到了更多相同的建议。但我仍然坚持上面显示的错误。也许我错过了什么,或者最新的软件或操作系统有问题。下一部分展示了我为设置机器所做的工作。
我如何设置机器
我在 DigitalOcean 上使用预装了 Ubuntu 16.04.1 的新 VPS。在设置了额外的用户、SSH 访问和防火墙之后,这就是我设置 siege 所做的。
更新系统
sudo apt-get update && sudo apt-get upgrade --show-upgraded安装 GNU 编译器集合
sudo apt-get install build-essential安装 openssl 开发头包
sudo apt-get install libssl-dev下载围攻解压
wget http://download.joedog.org/siege/siege-latest.tar.gztar -zxvf siege-latest.tar.gz配置和安装siege
cd siege-*/
查找 openssl 所在的位置:which openssl将此信息用于 with-ssl 标志./configure --with-ssl=/usr/bin/opensslmakesudo make install
我的问题
请帮助我使用 https URL 进行围攻。在回答这个问题时,请知道我对 Linux 管理员的东西还很陌生,因此非常感谢您详细说明该做什么。
【问题讨论】:
-
你搞定了吗?遇到类似问题,并按照他们的 wiki 进行设置:S wiki.mikejung.biz/Siege
-
@kafka:是的,我确实让它工作了,请参阅下面的答案
-
谢谢,我确实尝试过,但无济于事。原来我们可以使用 HTTP url,所以就这样吧!
标签: linux ubuntu https openssl siege