nginx 动态添加ssl模块
一.查看nginx模块
/usr/local/nginx/sbin/nginx -V
二.安装openssl包
yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel
三.重新编译nginx源码包,并且生成了新的obj目录
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module
make ###到此结束, 千万不要make install ,否则会覆盖以前nginx的目录
四.备份nginx启动程序并且复制新生成obj目录的nginx启动文件
1.首先备份以前的启动程序
cp /usr/local/nginx/sbin/nginx nginx.bak
2.复制obj新生成的启动程序,覆盖到以前的nginx
cp /usr/local/nginx-1.7.9/objs/nginx /usr/local/nginx/sbin/nginx
3.检测nginx是否有问题,并切坚持模块是否添加成功
五.添加虚拟主机并且添加ssl域名证书。
1 server { 2 listen 80; 3 server_name XX; 4 access_log /usr/local/nginx/logs/jXX_access.log; 5 error_log /usr/local/nginx/logs/XX_error.log; 6 location / { 7 proxy_set_header X-Real-IP $remote_addr; 8 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 9 proxy_set_header Host $http_host; 10 proxy_set_header X-NginX-Proxy true; 11 proxy_pass http://XX/; 12 proxy_redirect off; 13 } 14 # error_page 500 502 503 504 /50x.html; 15 #location = /50x.html { 16 # root $root_path; 17 # } 18 } 19 server { 20 listen 443; 21 server_name XXX; 22 ssl on; 23 ssl_certificate /usr/local/nginx/conf/cert/214.pem; 24 ssl_certificate_key /usr/local/nginx/conf/cert/21.key; 25 ssl_session_timeout 5m; 26 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; 27 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 28 ssl_prefer_server_ciphers on; 29 30 location / { 31 proxy_set_header X-Real-IP $remote_addr; 32 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 33 proxy_set_header Host $http_host; 34 proxy_set_header X-NginX-Proxy true; 35 proxy_pass http://XXX/; 36 proxy_redirect off; 37 } 38 39 40 }
六.域名访问