Nginx/Apache的SSL配置

首先需要升级OpenSSL和OpenSSH。后者顺带升级下,并非必须。注意顺序,先SSL再SSH。
 
#cd /usr/local/src
 #wget
 #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 ^/(.*)$ $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是一样的。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/909f90c5ce779cf7012d89c9ee234a75.html