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访问和防火墙之后,这就是我设置围攻的方法.
更新系统
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.gz
tar -zxvf siege-latest.tar.gz
配置并安装siege
cd siege-*/
查找openssl所在的位置:
which openssl
将此信息用于with-ssl标志
./configure --with-ssl=/usr/bin/openssl
make
sudo make install
我的问题
请帮助我解决使用https网址的问题.在回答这个问题时,请知道我对Linux管理员的东西很新,所以非常感谢有关做什么的详细信息.
原来,--prefix需要到图书馆在我的系统连接起来.即使安装似乎工作正常,如果你不提供该信息也没有错误.在我提供前缀之前,我将前缀设置为siege正在安装的目录.因此安装最终在同一目录中,但现在它可以与https一起使用.
这对我有用:
$ ./configure --prefix=/usr/local --with-ssl=/usr/bin/openssl
$ make
$ sudo make install
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5218 次 |
| 最近记录: |