您的位置:首页 > 运维架构 > Nginx

nginx源码安装及CA颁发

2013-09-08 22:16 288 查看
原理:client通过https去访问wed server nginx的时候,服务器为了证明自己的身份,并且也为了实现加密,它需要向客户端出示证书,(持有者标识,服务器的公钥,有效期,颁发单位,CA的签名),此时客户端需要于证书进行比对(有效期,及颁发单位是否我信任的颁发单位,持有者标识是否与访问的持有者标识一样,打开签名然后对里面的一些重新检测,如果比对一样,则表示里面的信息没有被篡改),浏览器随机产生k值,利用公钥加密k值来传递给服务器,服务器在用私钥来打开。。
环境:mod_ssl-2.2.3-31.e15.i386.rpm httpd-2.2.3-31.el5.i386.rpm nginx-1.0.11.tar.gz pcre-devel-6.6-2.el5_1.7.i386.rpm libevent-2.0.16-stable.tar.gz
NGINX的源码安装1.groupadd –r nginx 创建一个系统组2.useradd –r –g nginx –s /bin/nolohon –M(系统账号默认值) nginx 添加系统用户,任何的服务都必要有一些运营者的身份3.tar –zxvf libevent-2.0.16-stable.tar.gz –C /usr/local/src/ 4.cd /usr/local/src/libevent-2.0.16-stable/ 5../configure--prefix=/usr/local/libevent 6.make &&make install 7.cd /usr/local/libevent/ 图1

8.vim /etc/ld.so.conf.d/libevent.conf 写入 /usr/local/libevent/lib 9.ldconfig刷新缓存 10.ldconfig -pv|grep libevent 测试系统是否可以找到这些库文件 11.ln -s /usr/local/libevent/include/ /usr/include/libevent 头文件做一个符号链接 12.tar –zxvf nginx-1.0.11.tar.gz –C /usr/local/src/
rpm –ivh pcre-devel-6.6-2.el5_1.7.i386.rpm
13.cd /usr/local/src/ nginx-1.0.1114. ./configure --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fcgi --with-pcre15.选项解释: -conf-path 配置文件存放的位置 --error-log-path 错误日志存放的位置名称 --http-log-path 成功日志存放的位置名称 --pid-path pid的位置 --lock-path 索文件 --with-http_ssl_module 增加ssl模块 --with-http_flv_modile 支持flv模块 --with-http_stub_status_module 状态输出 --with-http_gzip_status_module 压缩或解压 --http-client-body-temp-path 临时文件 --http-proxy-temp-path 反向代理加速时临时文件存放的位置 --http-fastcgi-temp-path 交互时临时文件 --with-pcre 支持正则表达式的库16.make17.make install18. mkdir –pv /var/tmp/nginx/client19. ./nginx 启动nginx20 ps aux |grep nginx查看ngix 的进程21.测试nginx是否可以被访问到图2

22../nginx -s stop 停止nginx的线程23. PATH=$PATH:/usr/local/nginx/sbin/ 更改环境变量 测试httpd与nginx的压力测试1.首先安装httpd2.rpm –ivh httpd-2.2.3-31.el5.i386.rpm3.启动 service httpd start4.ab –c 1000 –n 10000http://192.168.2.10/index.html图3

图5

5.ps aux |grep httpd 6.图4

7.service httpd stop8.nginx9.ab –c 1000 –n 50000http://192.168.2.10/index.html10.图6

地址虚拟主机案例:对nginx进行网页测试,设置IP地址,使得我访问192.168.2.101能够显示出TEC技术部,当访问192.168.2.10能够显示出来主站点1.ifconfig eth0:192.168.2.1012.mkdir /usr/local/nginx/tec3. cd /usr/local/nginx/tec/4. echo "tec" >index.html5.更改配置文件6. cd /etc/nginx7.vim nginx.conf 图7

图8

10.复制35行server到80行重新编辑11.图9

12. /usr/local/nginx/sbin/nginx –t 对nginx进行语法测试13. /usr/local/nginx/sbin/nginx -s stop 把nginx停下来 不加参数表示启动nginx14.测试 图10

图11

nginx实现CA的颁发1.cd /etc/pki2.vim tls/openssl.cnf 45行 dir = /etc/pki/CA证书保存的位置 88行到90行更改成optionl可以给其他的地区颁发证书(:88,90 s/match/optional 快捷方式替换)3.cd CA6.mkdir crl certs newcerts 当前的url 默认的证书存放位置 新的证书存放位置7.touch index.txt serial 数据库的索引文件及编号文件8.echo "01" >serial 写入第一个编号9.openssl genrsa 1024 >private/cakey.pem 产出私钥10.chmod 600 private/*11.openssl req -new -key private/cakey.pem-x509 -out cacert.pem 给自己服务器颁发证书 图1

wed server nginx1.mkdir -pv /usr/local/nginx/certs(私钥 请求 证书存放在一个目录)2.cd/usr/local/nginx/certs3.openssl genrsa 1024 >nginx.key 产生私钥文件4.openssl req -new -key nginx.key-out nginx.req 产生请求文件5.图2

6.chmod 600 nginx.key 私钥是严格被保管的,改变私钥的权限7.openssl ca –in nginx.req –out nginx.cert8.图3

9.cd /etc/nginx/10.vim nginx.conf11.证书与服务器绑定(150行开始复制 19yy 按p 任何位置) 图5

测试



解决方法:首先client需要CA安装证书12.需要有这个包mod_ssl-2.2.3-31.e15.i386.rpm(光盘或者下载都可以)13.rpm2cpio mod_ssl-2.2.3-31.e15.i386.rpm |cpio –id rpm2cpio将指定的一个 .rpm 文件转换为一个 cpio 文档,输出到标准输出14.cd /usr/local/nginx/certs15.cp /etc/pki/CA/cacert.pem ./16.cat nginx.cert.bak cacert.pem>nginx.cert ca的证书与机构的证书来进行合并

以上就是NGINX实现CA颁发。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息