准备工作
获取HTTP证书并上传到服务器
配置Nignx支持HTTPS协议,首先需要检查Nginx是否已经安装了SSL模块。安装Nginx默认是不会安装SSL模块的,此时配置SSL则会出现错误:
nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf
错误信息表示:Nginx缺少http_ssl_module
模块,需要在安装Nginx时添加SSL模块。
如果已经安装过Nginx此时需要重新安装
首先进入Nginx源码包文件夹
$ cd /usr/local/src/nginx
配置参数
$ ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
-
-prefix
配置安装Nginx的路径 -
--with
需要安装的模块
编译,注意使用make
编译后不要立即执行make install
安装,那样会覆盖安装。
$ make
停止Nginx服务的运行
$ nginx -s stop
查询Nginx主进程并杀掉
$ ps -ef | grep nginx # 查询Nginx主进程号
$ kill -QUIT 进程号 # 杀死Nginx主进程
$ kill -TERM 进程号 - 快速停止Nginx
$ killall -9 nginx # 禁止所有Nginx进程
$ pkill -9 nginx # 强制停止Nginx进程
备份之前已经安装好的Nginx
$ cp -r /usr/local/nginx /usr/local/nginx.bak
此时可以将编译好的Nginx进行安装
$ make install
测试SSL模块是否已经支持
$ nginx -V
重启Nginx服务
$ nginx -c /usr/local/nginx
Nginx配置SSL对HTTPS进行支持
$ vim /usr/local/nginx/conf/nginx.conf
server {
listen 443 ssl;
server_name hostname.com;
ssl_certificate cert/cert.pem;
ssl_certificate_key cert/cert.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:7001;
}
}
测试配置是否成功
$ nginx -t
网友评论