lighttpd配置https

发布时间:2020-10-01编辑:脚本学堂
lighttpd配置https,本文介绍在lighttpd中加入https的支持...

本文介绍在lighttpd中加入https的支持。
 
生成证书,配置lighttpd.conf后,使用浏览器测试时,进程出现:
 

复制代码 代码如下:
[root@server1 ~]# /etc/init.d/lighttpd status
lighttpd dead but pid file exists
 
会不会是openssl版本上的问题,通过光盘安装的openssl是openssl-0.9.8e-12.el5_4.6,目前官方最新版本是openssl-1.0.1。
由于系统已安装openssl-0.9.8e,卸载旧版本对系统其他服务影响太大,所以决定不卸载旧版本直接把安装新版本。
 
一、安装openssl

 

1.下载安装:http://www.openssl.org/source/openssl-1.0.1.tar.gz
 

复制代码 代码如下:
[root@web ~]# tar zxf openssl-1.0.1.tar.gz
[root@web ~]# cd openssl-1.0.1
[root@web openssl-1.0.1]# ./config --prefix=/usr/local/ssl
[root@web openssl-1.0.1]# make clean
[root@web openssl-1.0.1]# make
[root@web openssl-1.0.1]# make install
[root@web ~]# mv /usr/bin/openssl /usr/bin/openssl.old          
[root@web ~]# mv /usr/include/openssl/ /usr/include/openssl.old
[root@web ~]# ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
[root@web ~]# ln -s /usr/local/ssl/include/openssl /usr/include/openssl
 
2.库文件搜索路径
复制代码 代码如下:
[root@web ~]# vim /etc/ld.so.conf
/usr/local/ssl/lib
[root@web ~]# ldconfig -v
3.查看openssl版本
复制代码 代码如下:
[root@web ~]# openssl version -a   
OpenSSL 1.0.1 14 Mar 2012
built on: Sun Apr  1 21:52:53 CST 2012
platform: linux-x86_64
options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx)
compiler: gcc -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DOPENSSL_IA32_SSE2 -

 

DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -

DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/usr/local/ssl/ssl"  
 

二、编译安装lighttpd
复制代码 代码如下:
./configure --prefix=/usr/local/lighttpd --with-openssl --with-openssl-libs=/usr/local/ssl/lib/
与之前安装的区别是--with-openssl-libs=/usr/local/ssl/lib/ 其他的安装步骤相同,略过。
三、加入https支持

 

1.查看是否支持ssl
 

复制代码 代码如下:
[root@web ~]# /usr/local/lighttpd/sbin/lighttpd -v
lighttpd/1.4.30 (ssl) - a light and fast webserver
Build-Date: Apr  2 2012 10:40:18
 
如果不支持ssl,则需要重新编译,编译时加入参数--with-openssl --with-openssl-libs=/usr/lib
 
2.生成自我认证的证书文件或者通过第三方CA认证
复制代码 代码如下:
[root@web ~]# mkdir /etc/lighttpd/ssl
[root@web ~]# cd /etc/lighttpd/ssl/
[root@web ssl]# openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
[root@web ssl]# chmod 400 server.pem
 
按照提示填写相应内容,然后生成server.pem文件。
 
3.配置lighttpd
复制代码 代码如下:
    $SERVER["socket"] == ":443" {
      ssl.engine                  = "enable"
      ssl.pemfile                 = "/etc/lighttpd/ssl/server.pem"
      server.document-root        = "/srv/www/htdocs/"
    }
四、测试


经测试,初步认为是openssl的版本不兼容造成。