首先需要升级OpenSSL和OpenSSH。后者顺带升级下,并非必须。注意顺序,先SSL再SSH。
#cd /usr/local/src #wget http://www.openssl.org/source/openssl-0.9.8e.tar.gz #wget ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-4.6p1.tar.gz #tar xzvf openssl-0.9.8e.tar.gz #cd openssl-0.9.8e #./config --prefix=/usr/local/openssl #make #make test #make install #cd .. #tar xzvf openssh-4.6p1.tar.gz #cd openssh-4.6p1 #./configure --prefix=/usr --with-pam --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/openssl --with-md5-passwords --mandir=/usr/share/man #make #make install 用#ssh –V 查看版本。 接下来生成对应服务器的key/crt文件 [root@bbs ~]#openssl genrsa -des3 -out server.key 1024 这里会提示你输入一个密码。 根据Key生成一个CSR [root@bbs ~]#openssl req -new -key server.key -out server.csr 自己给自己颁发一个证书 [root@bbs ~]# openssl req -new -x509 -nodes -sha1 -days 365 -key server.key -out ok,保存好.crt和.key文件。.csr文件不需要了。 Apache使用的是.crt+.key文件。而nginx使用的是.pem+.key文件。 .pem文件很简单,直接把.crt和.key复制出来,粘贴到新的.pem文件里就行了。 Apache的配置。虚拟主机部分增加: SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL SSLCertificateFile /data/certfile/server.crt SSLCertificateKeyFile /data/certfile/server.key BrowserMatch ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 ServerAdmin baalchina@nau.edu.cn DocumentRoot /data/web/bbs ServerName bbs.nau.edu.cn:443 如果是nginx,那么: server { listen 443; server_name bbs.nau.edu.cn; if ($uri !~* "/logging.php$") { rewrite ^/(.*)$ http://$host/$1 redirect; } ssl on; ssl_certificate /data/certfile/server.pem; ssl_certificate_key /data/certfile/server.key; ssl_session_timeout 5m; ssl_protocols SSLv2 SSLv3 TLSv1; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_prefer_server_ciphers on; } 其他部分和http server是一样的。