Siege https错误:HTTPS需要libssl

Fre*_*now 5 linux ubuntu https openssl 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

我的研究
我在网上找到了几个答案,可以让围攻与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
$ make
$ make uninstall (if you have a previous version already installed)
$ make install
Run Code Online (Sandbox Code Playgroud)

我尝试了所有这些建议,并发现了更多相同的建议.但我仍然坚持上面显示的错误.也许我错过了一些东西,或者最新的软件或操作系统有问题.下一节将介绍我为设置机器所做的工作.

如何设置机器
我在DigitalOcean上使用新的VPS并预装了Ubuntu 16.04.1.在设置了额外的用户,SSH访问和防火墙之后,这就是我设置围攻的方法.

  1. 更新系统
    sudo apt-get update && sudo apt-get upgrade --show-upgraded

  2. 安装GNU编译器集合
    sudo apt-get install build-essential

  3. 安装openssl开发头文件包
    sudo apt-get install libssl-dev

  4. 下载围攻和提取
    wget http://download.joedog.org/siege/siege-latest.tar.gz
    tar -zxvf siege-latest.tar.gz

  5. 配置并安装siege
    cd siege-*/
    查找openssl所在的位置:
    which openssl 将此信息用于with-ssl标志
    ./configure --with-ssl=/usr/bin/openssl
    make
    sudo make install

我的问题
请帮助我解决使用https网址的问题.在回答这个问题时,请知道我对Linux管理员的东西很新,所以非常感谢有关做什么的详细信息.

Fre*_*now 7

原来,--prefix需要到图书馆在我的系统连接起来.即使安装似乎工作正常,如果你不提供该信息也没有错误.在我提供前缀之前,我将前缀设置为siege正在安装的目录.因此安装最终在同一目录中,但现在它可以与https一起使用.

这对我有用:

$ ./configure --prefix=/usr/local --with-ssl=/usr/bin/openssl
$ make
$ sudo make install
Run Code Online (Sandbox Code Playgroud)


小智 5

在“make install”之前执行“make clean”以删除在没有 ssl 支持的情况下编译的对象:

  1. cd围攻-*/
  2. 须藤清理
  3. 须藤进行安装