Nginx HTTPS

准备工作

获取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
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容