存档

‘Nginx’ 分类的存档

nginx主机名的奇怪现象

2011年9月27日 baalchina 没有评论

nginx,单机跑了几个虚拟主机。比如a.nau.edu.cn,b.nau.edu.cn,c.nau.edu.cn指向同一ip。

 

第一个server{}内,如果是

server {
    listen       a.nau.edu.cn:80;
}

的话,那么不管后面的server{}里面怎么写,都是指向a.nau.edu.cn根目录。

 

如果改成

server {
listen :80;
}

就没有问题。不知道为什么…

分类: Nginx 标签:

升级了下nginx

2009年10月16日 baalchina 没有评论

nginx的漏洞:http://www.kb.cert.org/vuls/id/180065


wget http://www.openssl.org/source/openssl-0.9.8k.tar.gz

wget http://sysoev.ru/nginx/nginx-0.6.39.tar.gz

tar xvzf nginx-0.6.39.tar.gz 

cd nginx-0.6.39

./configure "--with-http_stub_status_module" "--with-http_addition_module" "--with-pcre=/usr/src/pcre-7.7/" "--with-http_ssl_module" "--with-openssl=/root/openssl-0.9.8k" 

make

make install

ps -ef |grep nginx

kill 10986

ps -ef |grep nginx

/usr/local/nginx/sbin/nginx -t

/usr/local/nginx/sbin/nginx -v
 

 

没啥难度。最新的稳定nginx是0.7.x了,暂时不研究~

分类: Nginx 标签:

Nginx/Apache的SSL配置

2008年8月6日 baalchina 没有评论
  1. 首先需要升级OpenSSL和OpenSSH。后者顺带升级下,并非必须。注意顺序,先SSL再SSH。

1
2
3
4
5
6
7
8
9
#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
1
2
3
4
5
6
#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

查看版本。

  1. 接下来生成对应服务器的key/crt文件

1
[root@bbs ~]#openssl genrsa -des3 -out server.key 1024

这里会提示你输入一个密码。

根据Key生成一个CSR

1
[root@bbs ~]#openssl req -new -key server.key -out server.csr

自己给自己颁发一个证书

1
[root@bbs ~]# openssl req -new -x509 -nodes -sha1 -days 365 -key server.key -out server.crt

ok,保存好.crt和.key文件。.csr文件不需要了。

Apache使用的是.crt+.key文件。而nginx使用的是.pem+.key文件。
.pem文件很简单,直接把.crt和.key复制出来,粘贴到新的.pem文件里就行了。

Apache的配置。虚拟主机部分增加:

1
2
3
4
5
6
7
8
9
10
11
12
<VirtualHost bbs.nau.edu.cn:443>
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
</VirtualHost>

如果是nginx,那么:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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是一样的。

分类: Linux, Nginx 标签: , , ,