Http与https区别(转发)

本文详细介绍了HTTPS(安全超文本传输协议)的工作原理及其与HTTP的主要区别。HTTPS利用SSL进行信息加密,确保了客户端与服务器间信息传输的安全性。文章还探讨了HTTPS在实际应用中的优势与局限。

HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议
它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。
它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的安 全全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使 用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。
HTTPS和HTTP的区别:

  • https协议需要到ca申请证书,一般免费证书很少,需要交费。
  • http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议
  • http和https使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。
  • http的连接很简单,是无状态的
  • HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全

HTTPS解决的问题:
1 . 信任主机的问题. 采用https 的server 必须从CA 申请一个用于证明服务器用途类型的证书. 改证书只有用于对应的server 的时候,客户端才信任该主机. 所以目前所有的银行系统网站,关键部分应用都是https 的. 客户通过信任该证书,从而信任了该主机. 其实这样做效率很低,但是银行更侧重安全. 这一点对我们没有任何意义,我们的server ,采用的证书不管自己issue 还是从公众的地方issue, 客户端都是自己人,所以我们也就肯定信任该server.
2 . 通讯过程中的数据的泄密和被窜改
1. 一般意义上的https, 就是 server 有一个证书.
a) 主要目的是保证server 就是他声称的server. 这个跟第一点一样.
b) 服务端和客户端之间的所有通讯,都是加密的.
i. 具体讲,是客户端产生一个对称的密钥,通过server 的证书来交换密钥. 一般意义上的握手过程.
ii. 加下来所有的信息往来就都是加密的. 第三方即使截获,也没有任何意义.因为他没有密钥. 当然窜改也就没有什么意义了.
2. 少许对客户端有要求的情况下,会要求客户端也必须有一个证书.
a) 这里客户端证书,其实就类似表示个人信息的时候,除了用户名/密码, 还有一个CA 认证过的身份. 应为个人证书一般来说上别人无法模拟的,所有这样能够更深的确认自己的身份.
b) 目前少数个人银行的专业版是这种做法,具体证书可能是拿U盘作为一个备份的载体.
HTTPS 一定是繁琐的.
a) 本来简单的http协议,一个get一个response. 由于https 要还密钥和确认加密算法的需要.单握手就需要6/7 个往返.
i. 任何应用中,过多的round trip 肯定影响性能.
b) 接下来才是具体的http协议,每一次响应或者请求, 都要求客户端和服务端对会话的内容做加密/解密.
i. 尽管对称加密/解密效率比较高,可是仍然要消耗过多的CPU,为此有专门的SSL 芯片. 如果CPU 信能比较低的话,肯定会降低性能,从而不能serve 更多的请求.
ii. 加密后数据量的影响. 所以,才会出现那么多的安全认证提示

<think>好的,用户想了解Nginx在进行端口转发HTTPHTTPS区别,以及配置上的对比。首先我需要明确端口转发的基本概念,然后区分HTTPHTTPS的不同之处。 首先,端口转发通常指的是Nginx作为反向代理时,将来自客户端的请求转发到后端服务器的指定端口。而HTTPHTTPS的主要区别在于传输协议安全性。HTTPS使用了SSL/TLS加密,因此在配置时需要额外的证书和加密设置。 接下来,配置对比方面,HTTP的端口转发相对简单,主要是设置proxy_pass指令,指定后端服务器的地址和端口即可。而HTTPS则需要监听443端口,配置SSL证书路径、协议版本、加密套件等参数。同时,可能还需要处理HTTPHTTPS的重定向,比如将80端口的请求自动跳转到443端口,确保所有流量都加密。 然后,安全性方面,HTTPS能够防止数据被窃听或篡改,适合处理敏感信息。而HTTP在传输过程中是明文的,安全性较低。性能上,HTTPS由于加密解密的过程可能会有轻微的开销,但现代服务器通常能很好地处理这一点。 还要考虑用户提到的引用内容。例如引用[3]提到反向代理隐藏了真实服务器,HTTPS配置进一步增强了安全性。引用[4]展示了HTTPHTTPS的配置示例,需要注释掉原有的HTTP配置,启用SSL相关设置。 可能用户没有明确提到的点包括证书的管理(如Let's Encrypt自动续签)、HSTS头的配置,以及是否需要在代理层终止SSL,或者将加密传递到后端服务器。这些高级配置可能需要进一步解释,但用户的问题主要集中在基础区别和配置对比,所以保持回答简洁。 最后,生成相关问题时要围绕Nginx的代理配置、性能影响、优化方法以及应用场景展开,帮助用户深入理解。</think>### Nginx端口转发HTTPHTTPS区别及配置对比 #### 一、协议安全区别 1. **HTTP端口转发** - 传输协议:明文传输,数据可能被窃听或篡改。 - 默认端口:通常为`80`。 - 适用场景:非敏感信息的内部服务或测试环境。 2. **HTTPS端口转发** - 传输协议:通过SSL/TLS加密,保障数据安全。 - 默认端口:通常为`443`。 - 核心要求:需配置SSL证书(如`.crt`和`.key`文件)。 - 适用场景:涉及用户隐私、支付等敏感数据的场景[^3][^4]。 --- #### 二、配置对比 以下为HTTPHTTPS端口转发的典型配置示例: ##### 1. HTTP端口转发配置 ```nginx server { listen 80; server_name example.com; location / { proxy_pass http://backend_server:8080; # 转发到后端HTTP服务 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } ``` **要点**:仅需`proxy_pass`指向目标地址,无需加密配置。 ##### 2. HTTPS端口转发配置 ```nginx server { listen 443 ssl; server_name example.com; # SSL证书配置 ssl_certificate /path/to/certificate.crt; ssl_certificate_key /path/to/private.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; location / { proxy_pass http://backend_server:8080; # 后端服务仍可是HTTP proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } # 可选:HTTP自动跳转HTTPS server { listen 80; server_name example.com; return 301 https://$host$request_uri; } ``` **要点**: - 必须配置`ssl_certificate`和`ssl_certificate_key`。 - 可强制HTTP请求跳转到HTTPS(通过`301`重定向)。 --- #### 三、性能功能差异 1. **性能** - HTTPS因加密解密会额外消耗约5%-10%的CPU资源,但现代硬件影响较小。 2. **功能扩展** - HTTPS支持HTTP/2协议(需Nginx 1.9.5+),可提升传输效率。 - HTTPS需定期更新SSL证书(如Let's Encrypt证书有效期为90天)。 --- #### 四、核心配置参数对比 | 参数 | HTTP | HTTPS | |-------------------|-------------------------------|----------------------------------| | 监听端口 | `listen 80;` | `listen 443 ssl;` | | 证书配置 | 无需 | `ssl_certificate`、`ssl_certificate_key` | | 协议支持 | HTTP/1.1 | HTTP/1.1、HTTP/2(需开启`ssl`) | | 安全性增强 | 无 | 可配置HSTS头、OCSP装订 | ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值