nginx的学习笔记

1.nginx配置https访问, 生成自签名证书

执行如下命令生成一个key

openssl genrsa -des3 -out ssl.key 1024
然后他会要求你输入这个key文件的密码。不推荐输入。因为以后要给nginx使用。每次reload nginx配置时候都要你验证这个PAM密码的。
由于生成时候必须输入密码。你可以输入后 再删掉。

mv ssl.key xxx.key
openssl rsa -in xxx.key -out ssl.key
rm xxx.key
然后根据这个key文件生成证书请求文件
openssl req -new -key ssl.key -out ssl.csr

最后根据这2个文件(ssl.key ssl.csr)生成crt证书文件

sudo openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt

这里365是证书有效期 推荐3650哈哈。这个大家随意。最后使用到的文件是key和crt文件。

2.Nginx开启SSL模块

切换到源码包:cd /usr/local/src/nginx-1.11.3

 

查看nginx原有的模块  /usr/local/nginx/sbin/nginx -V

在configure arguments:后面显示的原有的configure参数如下:--prefix=/usr/local/nginx --with-http_stub_status_module

 

那么我们的新配置信息就应该这样写:./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

运行上面的命令即可,等配置完

配置完成后,运行命令 make

这里不要进行make install,否则就是覆盖安装

然后备份原有已安装好的nginx   cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

然后将刚刚编译好的nginx覆盖掉原有的nginx(这个时候nginx要停止状态) cp ./objs/nginx /usr/local/nginx/sbin/

然后启动nginx,仍可以通过命令查看是否已经加入成功   /usr/local/nginx/sbin/nginx -V

Nginx 配置Http和Https共存

server {
            listen 80 default backlog=2048;
            listen 443 ssl;
            server_name wosign.com;
            root /var/www/html;
  
            ssl_certificate /usr/local/Tengine/sslcrt/ wosign.com.crt;
            ssl_certificate_key /usr/local/Tengine/sslcrt/ wosign.com .Key;
     }

把ssl on;这行去掉,ssl写在443端口后面。这样http和https的链接都可以用

posted @ 2018-12-29 11:38  孤独是鳄鱼的眼泪  阅读(124)  评论(0编辑  收藏  举报