Centos7 离线安装Nginx及配置HTTPS
安装依赖库
yum -y install gcc pcre-devel zlib zlib-devel openssl openssl-devel curl |
下载安装包并解压
curl -O http://nginx.org/download/nginx-1.1.15.tar.gz |
方法2:离线下载后上传至服务器 点击下载
解压 |
安装Nginx
#./configure 默认安装位置为 /usr/local/nginx,可以使用参数 --prefix=/usr/nginx 进行修改 |
设置开机自启
新建并编辑nginx.service文件 vi /etc/systemd/system/nginx.service
[Unit] |
常用命令如下:
- 启动nginx:systemctl start nginx
- 关闭nginx:systemctl stop nginx
- 设置开机自启:systemctl enable nginx
- 关闭开机自启:systemctl disable nginx
- 查看运行状态:systemctl status nginx
HTTPS
HTTP与HTTPS
- HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
- HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。
主要区别:
- https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
- http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
- http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
- http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全
配置HTTPS
申请免费的SSL证书
当然也可以自行购买一个提供免费HTTPS证书申请的网站
不建议使用OpenSSL生成的证书:
- openssl生成的baiSSL证书也叫自签名SSL证书,签发很随意,任何人都可以签发,易被黑客仿冒利用。
- 不是由正规的CA机构颁发的,所以不受浏览器的信任。
- 而付费的SSL证书,是由受信任的CA机构颁发的,申请时会对域名所有权和企业相关信息进行验证,安全级别是比较高的,而且备受各大浏览器的信任。
部署证书
- 下载申请好的 ssl 证书文件压缩包到本地并解压(这里是用的 pem 与 key 文件,文件名可以更改)
- 在 nginx 目录新建 cert 文件夹存放证书文件
# 进入到Nginx目录 |
- 将pem 与 key这两个文件上传至服务器的
/usr/local/nginx/cert
目录里
配置nginx.conf
nginx 1.15 以上版本
server { |
进行http80端口的重定向配置
server { |
重启Nginx
PS:如果之前部署了Nginx只是在其基础上安装SSL模块那么一定要重启Nginx服务,不然https是不会生效的(不要问我为什么写备注,都是眼泪😅)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 CHENSIR!