时间:2022-03-21来源:www.pcxitongcheng.com作者:电脑系统城
超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。
优点
缺点
HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 [1] 。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面 。
原理图如下:
简单来说,https是在http的基础上添加了证书来验证安全性,客户端拿到了https的证书会向证书服务器去验证证书的真伪,这样就可避免中间人攻击。在向证书服务器验证证书后,客户端就能拿到服务器的公钥,同时客户端也会生成这次自己的私钥和公钥,在请求传输的过程中会使用服务器公钥将数据和客户端公钥进行加密,这种加密是非对称加密的(很难破解),服务器拥有私钥可以将数据进行解密。服务器返回数据时会使用客户端的公钥进行加密,这样只有客户端才能使用私钥解密数据。这个过程是安全的。
这里我使用的是nginx服务器配置域名htpps(配置SSL证书)
我是使用腾讯云购买的域名:sunbt.ltd
国内服务器使用域名时需要备案,这里我默认都已经备案
进入腾讯的SSL证书管理页面,申请对应的域名证书
下载对应的证书,这里我选择NGINX版本的
将证书解压放到服务器对应位置上
添加如下内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
server { #SSL 访问端口号为 443 listen 443 ssl; #填写绑定证书的域名 server_name www.sunbt.ltd; #证书文件名称 ssl_certificate /usr/local/nginx/conf/ssl/www .sunbt.ltd_bundle.crt; #私钥文件名称 ssl_certificate_key /usr/local/nginx/conf/ssl/www .sunbt.ltd.key; ssl_session_timeout 5m; #请按照以下协议配置 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location @router { rewrite ^.*$ /index .html last; } location / { root /usr/local/nginx/html/web/blog ; # /vue/dist/ 打包后的dist目录 try_files $uri $uri/ @router; # 指向下面的 @router否则会出现 404 index index.html index.htm; } } |
让http请求跳转到https
修改配置如下:
1 2 3 4 5 6 7 |
server { listen 80; #填写绑定证书的域名 server_name cloud.tencent.com; #把http的域名请求转成https return 301 https: // $host$request_uri; } |
到此这篇关于NGINX设置HTTPS的文章就介绍到这了
2024-07-07
myeclipse怎么导入tomcat教程2024-07-07
myeclipse如何启动tomcat2024-07-07
myeclipse如何绑定tomcat上线了一个小的预约程序,配置通过Nginx进行访问入口,默认的日志是没有请求时间的,因此需要配置一下,将每一次的请求的访问响应时间记录出来,备查与优化使用....
2023-03-17