Nginx配置HTTPS服务器
Nginx 配置 HTTPS 并不复杂,主要有两个步骤:签署第三⽅可信任的 SSL 证书 和 配置 HTTPS
签署第三⽅可信任的 SSL 证书
image
image
申请的都是⼀年的有效期,之前在腾讯云购买了云服务器、域名,域名已使⽤云解析服务,可⾃动添加DNS记录验证,很快就能验证通过。通过后会⽤申请的域名为包名发送给你,打开后有
image
我们主要⽤到Nginx包⾥的⽂件
⾃签名ssl证书
也可以使⽤⾃⼰签名SSL证书配置HTTPS,使⽤⾃⼰签名SSL证书配置到服务器后,可以通过HTTPS正常访问应⽤,但是浏览器会提⽰该⽹站的安全证书不受信任,不会有绿锁标志。
使⽤openssl⽣成证书
openssl 是⽬前最流⾏的 SSL 密码库⼯具,其提供了⼀个通⽤、健壮、功能完备的⼯具套件,⽤以⽀持SSL/TLS 协议的实现。
1. SSH登录到服务器,使⽤下述命令创建根证书的私匙:
sudo openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout /root/project/ssl/nginx.key -out /root/project/
req: 配置参数-x509指定使⽤ X.509证书签名请求管理(certificate signing request (CSR))."X.509" 是⼀个公钥代表that SSL and TLS adheres to for its key and certificate management.
-nodes: 告诉OpenSSL⽣产证书时忽略密码环节.(因为我们需要Nginx⾃动读取这个⽂件,⽽不是以⽤户交互的形式)。
-days 36500: 证书有效期,100年
-newkey rsa:2048: 同时产⽣⼀个新证书和⼀个新的SSL key(加密强度为RSA 2048)
-keyout:SSL输出⽂件名
-out:证书⽣成⽂件名
它会问⼀些问题。需要注意的是在common name中填⼊⽹站域名,如wiki.xby1993即可⽣成该站点的证书,同时也可以使⽤泛域名如*.xby1993来⽣成所有⼆级域名可⽤的⽹站证书。
整个问题应该如下所⽰:
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Fu jian
Locality Name (eg, city) []:Xia men
Organization Name (eg, company) [Internet Widgits Pty Ltd]:lin
Organizational Unit Name (eg, section) []:qiezi
Common Name (e.g. server FQDN or YOUR name) []:www.qeizi666
Email Address []:****************
nginx ssl证书配置
上⾯的命令会在/root/project/ssl⽬录下⽣成和nginx.key⽂件,创建了有效期100年,加密强度为RSA2048的SSL密钥key和X509证书⽂件。
配置 HTTPS
N ginx安装ssl模块
Nginx 默认安装的情况下ssl模块并未被安装,如果要使⽤该模块则需要在编译nginx时指定–with-http_ssl_module参数.
1.查看ngixn版本极其编译参数
/usr/local/nginx/sbin/nginx -V
image
我已经安装ssl模块,所以有ssl的⼀些信息
2.进⼊你⾃⼰的nginx源码⽬录
cd developer/nginx-1.13.9/
image
3.重新编译的代码和模块
./configure --prefix=/usr/local/nginx--with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module
4.make,千万别make install,否则就覆盖安装了
make
5.备份旧的nginx程序
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
6.复制objs下的nginx程序覆盖旧的
cp objs/nginx /usr/local/nginx/sbin/nginx
7.测试新的nginx程序是否正确
/usr/local/nginx/sbin/nginx -t
image
8.重启nginx
/usr/local/nginx/sbin/nginx -s reload
9.查看ngixn版本极其编译参数
/usr/local/nginx/sbin/nginx -V
N ginx上启⽤https
配置N ginx配置⽂件
编辑f
vim /usr/local/nginx/f
在http下添加
include vhost/*.conf;
这是为了⽅便扩展和维护
在conf⽬录下创建vhost⽂件夹,⾥⾯专门存放nginx的配置,可以以域名为⽂件名存在配置
image

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。