Nginx负载均衡 ssl原理 生成ssl密钥对 Nginx配置ssl

一、Nginx负载均衡
Nginx负载均衡 ssl原理 生成ssl密钥对 Nginx配置ssl
#dig //dig命令其实就是解析
bash: dig: command not found
#yum install -y bind-utils
#dig qq.com //解析qq.com,可以看到qq.com解析到了3个IP上,可以使用这3个IP去做负载均衡
Nginx负载均衡 ssl原理 生成ssl密钥对 Nginx配置ssl
#cd /usr/local/nginx/conf/vhost/
#vi ld.conf
Nginx负载均衡 ssl原理 生成ssl密钥对 Nginx配置ssl
#/usr/local/nginx/sbin/nginx -t
#/usr/local/nginx/sbin/nginx -s reload
#curl -x127.0.0.1:80 www.qq.com //访问qq.com会返回qq.com主页的网页源码,这就是负载均衡
知识点:Nginx不支持代理https,如果有一台web服务器是通过https访问的,它只支持通过80端口访问,不支持访问它的443端口
二、ssl原理
Nginx负载均衡 ssl原理 生成ssl密钥对 Nginx配置ssl
crt private是私钥,用来进行解密的;crt public是公钥,用来进行加密的
三、生成ssl密钥对
Nginx负载均衡 ssl原理 生成ssl密钥对 Nginx配置ssl
#cd /usr/local/nginx/conf
#rpm -qf which openssl //查看某个命令需要安装哪个包,这里需要先安装openssl这个命令
#openssl genrsa -des3 -out tmp.key 2048 //生成rsa格式的私钥,长度2048
Nginx负载均衡 ssl原理 生成ssl密钥对 Nginx配置ssl
#openssl rsa -in tmp.key -out aminglinux.key //-in指定哪一个密钥要被转换,-out指定输出的,tmp.key和aminglinux.key其实是密钥,tmp.key是有密码的,aminglinux是没有密码的
#rm -f tmp.key //这时候可以删除有密码的tmp.key这个密钥了
#openssl req -new -key aminglinux.key -out aminglinux.csr //生成证书请求文件,需要拿这个文件和私钥一起生产公钥文件
Nginx负载均衡 ssl原理 生成ssl密钥对 Nginx配置ssl
上图的这些内容可以自定义
#openssl x509 -req -days 365 -in aminglinux.csr -signkey aminglinux.key -out aminglinux.crt
//-days 365表示证书日期是一年
Signature okbr/>subject=/C=11/ST=BeiJing/L=BeiJing/O=aming/OU=aming/CN=aminglinux/[email protected]
Getting Private key
#ls aminglinux. //使用tab键
aminglinux.crt aminglinux.csr aminglinux.key //这里的.crt为公钥,.key为私钥
四、Nginx配置ssl
Nginx负载均衡 ssl原理 生成ssl密钥对 Nginx配置ssl
#cd /usr/local/nginx/conf/vhost/
#mkdir /data/wwwroot/aming.com //创建一个aming.com文件夹,在下面配置文件的root中使用
#vim ssl.conf //生成新的配置文件ssl.conf文件
Nginx负载均衡 ssl原理 生成ssl密钥对 Nginx配置ssl
#/usr/local/nginx/sbin/nginx -t //报错,不能识别ssl,需要重新编译nginx
nginx: [emerg] unknown directive "ssl" in /usr/local/nginx/conf/vhost/ssl.conf:7
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed
#cd /usr/local/src/nginx-1.14.0/
#/usr/local/nginx/sbin/nginx -V //查看支持哪些
nginx version: nginx/1.14.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
configure arguments: --prefix=/usr/local/nginx
#./configure --help |grep -i ssl //查看需要增加ssl的哪个配置,需要增加--with-http_ssl_module
-with-http_ssl_module enable ngx_http_ssl_module
-with-mail_ssl_module enable ngx_mail_ssl_module
-with-stream_ssl_module enable ngx_stream_ssl_module
-with-stream_ssl_preread_module enable ngx_stream_ssl_preread_module
-with-openssl=DIR set path to OpenSSL library sources
-with-openssl-opt=OPTIONS set additional build options for OpenSSL
#./configure --prefix=/usr/local/nginx --with-http_ssl_module
#make
#make install
#/usr/local/nginx/sbin/nginx -V //再次查看,多了--with-http_ssl_module
nginx version: nginx/1.14.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module
#/usr/local/nginx/sbin/nginx -t //检查语法
#/etc/init.d/nginx restart //重启nginx
#cd /data/wwwroot/aming.com/
#vim index.html //创建测试文件
This is ssl.
#vi /etc/hosts
Nginx负载均衡 ssl原理 生成ssl密钥对 Nginx配置ssl
#curl
https://aming.com/ //提示证书不安全,原因是我们自己生成的
如果需要购买证书,可以到沃通官网:https://www.wosign.com/去购买

猜你喜欢

转载自blog.51cto.com/13669226/2128712
今日推荐