美文网首页
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