7

我无法让围攻与 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 的答案。例如,stackoverflow上的这个线程说“使用 --with-ssl 选项进行配置。此外,必须安装 openssl 开发头文件”。

也许最好的来源是siege 包本身的 INSTALL 文件,它说:
要启用 https,您必须在系统上安装 ssl。从http://www.openssl.org获取最新版本。安装 ssl 后,您必须配置 siege 才能使用它:

$ ./configure --prefix=/some/dir --with-ssl=/ssl/install/dir

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

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

我如何设置机器
我在 DigitalOcean 上使用新的 VPS 并预装了 Ubuntu 16.04.1。在设置了一个额外的用户、SSH 访问和防火墙之后,这就是我设置 siege 所做的。

  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 URL 进行围攻。在回答这个问题时,请知道我对 Linux 管理员的东西还很陌生,因此非常感谢您详细说明该做什么。

4

3 回答 3

9

原来--prefix需要链接我系统中的库。即使如果您不提供该信息,安装似乎工作正常且没有错误。在提供前缀之前,我将前缀设置为 siege 安装到的目录。所以安装最终在同一个目录中,但现在它可以与 https 一起使用。

这对我有用:

$ ./configure --prefix=/usr/local --with-ssl=/usr/bin/openssl
$ make
$ sudo make install
于 2017-02-23T09:23:41.043 回答
4

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

  1. cd 围攻-*/
  2. 须藤使清洁
  3. 须藤使安装
于 2017-02-21T23:05:38.670 回答
0

接受的答案对我不起作用。我首先卸载了我尝试安装的所有内容,然后我只是使用 Brew 安装了 siege

brew install siege

它开箱即用

于 2022-02-01T11:28:25.150 回答