美文网首页
Nginx HTTPS

Nginx HTTPS

作者: JunChow520 | 来源:发表于2020-04-03 22:20 被阅读0次

准备工作

获取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

相关文章

网友评论

      本文标题:Nginx HTTPS

      本文链接:https://www.haomeiwen.com/subject/cgzkphtx.html