Nginx的产生
没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器。基于REST架构风格,以统一资源描述符(Uniform Resources Identifier)URI或者统一资源定位符(Uniform Resources Locator)URL作为沟通依据,通过HTTP协议提供各种网络服务。
简单说,你的腾讯云主机想成为能通过http请求到数据的服务器,就必须配置成WEB服务器,Nginx就是WEB服务器的其中一种类型。所以在实现http转https之前,你需要配置你的腾讯云服务器为Nginx服务器。
一、Linux 安装Nginx
rpm 包方式(推荐)
(1)进入下载页面,选择合适版本下载。
$ wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
(2)安装 nginx rpm 包
nginx rpm 包实际上安装的是 nginx 的 yum 源。
$ rpm -ivh nginx-*.rpm
(3)正式安装 rpm 包
$ yum install nginx
(4)关闭防火墙
$ firewall-cmd --zone=public --add-port=80/tcp --permanent
$ firewall-cmd --reload
(5) 启动 Nginx
安装成功后,直接执行 nginx
命令即可启动 nginx。
启动后,访问站点:
Linux 开机自启动
Centos7 以上是用 Systemd 进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度。Systemd 服务文件以 .service 结尾。
rpm 包方式
如果是通过 rpm 包安装的,会自动创建 nginx.service 文件。
直接用命令:
$ systemctl enable nginx.service
设置开机启动即可。
二、配置SSL证书
Nginx 证书部署
获取证书
Nginx文件夹内获得SSL证书文件 1_www.domain.com_bundle.crt 和私钥文件 2_www.domain.com.key,
1_www.domain.com_bundle.crt 文件包括两段证书代码 “-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”,
2_www.domain.com.key 文件包括一段私钥代码“-----BEGIN RSA PRIVATE KEY-----”和“-----END RSA PRIVATE KEY-----”。
证书安装
将域名 www.domain.com 的证书文件1_www.domain.com_bundle.crt 、私钥文件2_www.domain.com.key保存到同一个目录,例如/usr/local/nginx/conf目录下。
更新Nginx根目录下 etc/nginx/conf.d/default.conf 文件如下:
server {
listen 80;
server_name www.xx.com;
rewrite ^(.*) https://$host$1 permanent;//将http 请求跳转https
}
server {
listen 443;
server_name www.xx.com; #填写绑定证书的域名
ssl on;
ssl_certificate 1_www.xx.com_bundle.crt;
ssl_certificate_key 2_www.xx.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
ssl_prefer_server_ciphers on;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Nginx-Proxy true;
proxy_set_header Connection "";
proxy_pass http://127.0.0.1:3000;
}
}
配置完成后,重启nginx。就可以使用 https://www.domain.com
来访问了。
注:
配置文件参数说明
listen 443 | SSL访问端口号为443 |
ssl on | 启用SSL功能 |
ssl_certificate | 证书文件 |
ssl_certificate_key | 私钥文件 |
ssl_protocols | 使用的协议 |
ssl_ciphers | 配置加密套件,写法遵循openssl标准 |