注意路径
可见,nginx缺少SSL模块支持。这是因为我当年建站的时候根本没用到SSL啊,所以以前编译nginx的时候使用了不带SSL支持的默认编译参数。 为了让nginx添加SSL模块,只能重新编译它。但是,如何在现有nginx的基础上,添加一个支持SSL的编译参数呢?首先要找回原来编译nginx时的编译参数,然后再加上支持SSL的编译参数。如果不这样做,那么编译出来的nginx可能就会有问题(某些旧的编译参数被去掉了,使得nginx不能支持某些功能)。 所以先查看旧的nginx的编译参数:nginx -V 大写V 输出的信息中,最重要的一句是: configure arguments: --prefix=/usr/local/nginx 可见,当时我编译nginx的时候,只是指定了一个安装路径,没有其他特殊的编译参数。那么现在事情就好办了:回到nginx的源码目录下,加上SSL支持参数重新编译:
./configure --prefix=/usr/local/nginx --with-http_ssl_modulemake
注意,此时千万不能手快直接 make install!因为我原来的nginx还有一堆的配置文件,不能被覆盖。我们应该只覆盖编译出来的nginx可执行程序:
cp /usr/local/nginx/sbin/nginx ~/cp objs/nginx /usr/local/nginx/sbin/
其中,objs/nginx 是新编译出来的nginx可执行程序。 覆盖之后,再尝试重新启动nginx,就没有问题了。
接下来安装证书一个证书 针对一个域名进入nginx 目录下创建一个 mkdir cert 将两个文件上传到这个目录下 建议将文件重命名为 zhzq.pem 和 zhzq.key
编辑
vim nginx.conf server { listen 80; listen 443 ssl; server_name ; 你的域名 ssl off; ssl_certificate ../cert/zhzq.pem; ssl_certificate_key ../cert/zhzq.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; }
重新载入
../sbin/nginx -s reload# 如果上面的命令不起作用,也可以重启../sbin/nginx -s stop../sbin/nginx
https 443 开放对应的端口 访问就可以了
本文暂时没有评论,来添加一个吧(●'◡'●)