HTTPS 全称
HTTPS (全称:Hypertext Transfer Protocol Secure),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面。
HTTPS有特点
- 内容加密:采用混合加密技术,中间者无法直接查看明文内容
- 验证身份:通过证书认证客户端访问的是自己的服务器
- 保护数据完整性:防止传输的内容被中间人冒充或者篡改
Nginx配置
[root@Nginx ~]# mkdir -p /usr/local/nginx/conf/ssl
[root@Nginx ~]# cp server.crt server.key /usr/local/nginx/conf/ssl/
[root@Nginx ~]# vim /usr/local/nginx/conf/nginx.conf
server {
listen 443; # 监听端口
ssl on; # 开启 SSL
ssl_certificate ssl/server.crt; # PS:我这里是相对路径. 你们可以使用绝对路径
ssl_certificate_key ssl/server.key; # 系统会在 /usr/local/nginx/conf/ 目录中寻找
server_name www.cuplayer.com; # 证书对应的域名
...
}
[root@Nginx ~]# nginx -s reload # 重启 Nginx 服务
将 80 端口和 443 端口区分开:
[root@Nginx ~]# vim /usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name www.cuplayer.com;
rewrite ^(.*)$ https://$host$1 permanent;
...
}
server {
listen 443;
ssl on;
ssl_certificate ssl/server.crt;
ssl_certificate_key ssl/server.key;
server_name www.cuplayer.com;
...
}
[root@localhost ~]# nginx -s reload