可以不吃饭饭!不能不会搭建Nginx-https服务
Posted Friends of the wind
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了可以不吃饭饭!不能不会搭建Nginx-https服务相关的知识,希望对你有一定的参考价值。
基础必知
SSL:安全套接字层,由Netscape公司于1994年创建,它旨在通过Web创建安全的Internet通信。
它是一种标准协议,用于加密浏览器和服务器之间的通信。它允许通过Internet安全轻松地传输账号密码、银行卡、手机号等私密信息。
SSL常见应用:
https:启用ssl加密的安全HTTP传输协议 443
ipsec vpn
PKI:公钥基础设施,主要功能是绑定证书持有者的身份和相关的密钥对(通过为公钥及相关的用户身份信息签发数字证书),
为用户提供方便的证书申请、证书作废、证书获取、证书状态查询的途径,
并利用数字证书及相关的各种服务(证书发布,黑名单发布,时间戳服务等),
实现通信中各实体的身份认证、完整性、抗抵赖性和保密性.
标准:x.509
案例
实验效果:局域网内,nginx搭建web网站服务自建证书,1)通过https访问域名www.benet.com;http访问做重定向https的设置。2)在此基础上搭建负载均衡群集
步骤:
一、搭建https服务
1、环境搭建
服务器 | IP |
---|---|
lb | 192.168.2.137 |
nginx1 | 192.168.2.130 |
nginx2 | 192.168.2.135 |
注意:关闭防火墙、setenforce(限实验环境),如果有源码安装的Nginx一定要清理干净,包括做的链接,三台服务器版本,安装方式必须一致
查看是否安装openssl版本
查看nginx是否安装ssl模块
创建ssl密钥目录,并进入目录
mkdir /etc/nginx/ssl_key
cd /etc/nginx/ssl_key
2、 本机当CA:证书颁发机构,创建私钥
需要输入密码,确认一次,共两次
3、 生成证书,去掉私钥的密码
4、 配置https网站
vim /etc/nginx/conf.d/https.conf
创建网站根目录,并创建测试首页
5、客户机修改hosts文件,使用https://https.benet.com访问测试。
编辑hosts文件
添加以下内容:
会提示不安全,添加例外,即可访问到
6、rewrite地址重写(http重定向到https)
未做地址重定向
配置:
编辑vim /etc/nginx/conf.d/https.conf
添加以下内容:(四种方式均可实现此功能,选择其一即可)
验证:用http访问重定向到https
二、搭建负载均衡群集
1、nginx2:
为了效率,复制Nginx1的安装所需各项文件。删除本机yum源文件,我的本机yum文件当前不能用,如无此问题,可不用此操作。
2、清理缓存,进入安装目录并安装Nginx
3、拷贝Nginx1的配置文件到Nginx2和lb
注意:证书文件默认权限是只读,需要为整个目录更改权限才能拷贝!
安装:
进入目录:cd /nginx-rpm/
执行安装命令: yum -y localinstall *.rpm
完成,拷贝配置文件到指定目录
创建网页目录,创建测试内容,启动Nginx:
验证:Nginx2
开一台客户机,修改hosts文件,域名对应Nginx2的IP,访问显示Nginx2的网页内容。
4、配置负载均衡服务器
进入配置目录,删除默认配置文件:
编辑lb.conf文件:
添加以下内容:
检查语法无误,启动Nginx
验证:客户端修改hosts文件为负载均衡服务器地址
通过负载均衡器 可以访问到,Nginx1、Nginx2
错误总结
提示:学会排错,搭建服务的时候,学会形成避免错误的标准化流程,每个阶段做完,先测试,出现问题范围小,好排查,不要等全部做完,再排错,范围广,不好定位,既不易出错,出错也便于排查。
1、 与原有的Nginx冲突
如果有之前安装的不论是版本、还是安装方式(源码),必须卸载干净,否则,报错很难定位到这个问题。
2、 拷贝文件没有权限,导致负载均衡器Nginx无法启动,提示缺少文件
明明拷贝的是全部配置文件,可是启动却提示缺少文件;权限问题拷贝不过来,执行拷贝操作,不会报错,证书文件和密钥默认只有读取权,必须更改整个目录权限,才行。
以上是关于可以不吃饭饭!不能不会搭建Nginx-https服务的主要内容,如果未能解决你的问题,请参考以下文章