一:開啟Nginx的SSL模塊
Nginx如果未開啟SSL模塊,配置Https時提示如下錯誤:
nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf
解釋:nginx缺少http_ssl_module模塊,需要在已安裝的nginx中添加ssl模塊。
說明:我的nginx安裝目錄為:/usr/local/nginx , 源碼包在/usr/src/nginx-1.5.9目錄
Nginx開啟SSL模塊:
切換到源碼包:
cd /usr/src/nginx-1.5.9
查看nginx原有的模塊
/usr/local/nginx/sbin/nginx -V
在configure arguments:后面顯示的原有的configure參數如下:
--prefix=/usr/local/nginx --with-http_stub_status_module
二:從新配置SSL模塊:
進入nginx源碼包目錄,運行:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
配置完成后,運行命令make命令:
make
注意:此處不能進行make install,否則就是覆蓋安裝
三:替換已安裝好的nginx包
替換之前先備份:
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
先停止nginx服務:
//查詢nginx主進程號 $ ps -ef | grep nginx //從容停止Nginx: $kill -QUIT 主進程號 //快速停止Nginx: kill -TERM 主進程號 //強制停止Nginx: pkill -9 nginx
將剛剛編譯好的nginx覆蓋掉原有的nginx
cp ./objs/nginx /usr/local/nginx/sbin/
然后啟動nginx,仍可以通過命令查看是否已經加入成功
/usr/local/nginx/sbin/nginx -V
此時應該顯示為即配置成功:
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
補充:
nginx配置ssl,支持https的配置:
server { listen 443 ssl; server_name aa.abc.com; ssl_certificate cert/2643408_xxx.pem; ssl_certificate_key cert/2643408_xxx.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { proxy_pass http://127.0.0.1:8886; } }