升级 HTTP 至 HTTPS:使用 Nginx 反向代理

简介: 升级 HTTP 至 HTTPS:使用 Nginx 反向代理

序言



不论是 Google 还是苹果公司,一直都在大力推动 HTTPS 以代替原有的 HTTP 协议,同时不久前据悉美国最大的成人网站也全面的将通信协议升级成了 HTTPS,不可否认的是 HTTPS 将为我们带来一个更加安全的网络环境,而作为开发者也应该直面技术发展的浪潮,毕竟顺风而行,才能飞得更远。


对于许多已经成型并在使用中的后台程序来说,将 HTTP 升级为 HTTPS 似乎是一件很麻烦的事情(说不定你要升级的程序是历史遗留下来的,而修改这种程序对所有程序员来说都是一件很不乐意的事情),所以这里介绍另一种方式来达到目的——即不修改原有后台程序,而使用 Nginx 反向代理服务器的方式。


Nginx



Nginx 本身就是一个强大的服务器,其使用广泛、配置简单,可实现负载均衡、支持高并发、及反向代理等等功能。


示例



环境的搭建不再赘述。


1、我们先准备一个 http 服务器:

node.js 的第一个 hello world , 简单吧。


2、准备 https 相关证书文件:


商用的证书需要花钱向权威的第三方机构购买,这里演示就用 openssl 自签名生成好了。( openssl 会跟随 node 的环境一起搭建,无需另外下载配置)


按下图所示步骤进行:

mykey.pem 文件和 mycert.pem 文件将会后续使用。


3、配置 Nginx 的 https 反向代理:



上图的注释已经很详细了,我们重点关注下图中红色圈内的部分,第一个红色圈内指定我们原有的后台服务器地址,第二个红色圈内配置 https 协议的证书,也就是第二步中通过 openssl 生成的两个文件,443 端口号不要改变,另外这里设置了访问此 nginx 服务器的域名(这里域名仅仅是测试用,浏览器中直接访问会当成公网域名,所以为了本地测试生效还需要修改本地 host DNS 文件,就是找到本地的 host 文件,在最后加上 127.0.0.1 www.rife-nginx.com 保存,这样浏览器就会将此域名解析到我们本地),第三个红色圈与第一个红色圈对应,设置代理的路径。


4、测试:


首先启动第 1 步中准备的 http 服务器,(然后如第 3 步中所述修改本地 host 文件),接着通过以下命令启动 nginx 服务器:


最后通过浏览器访问 www.rife-nginx.com 域名,这里会提示证书不安全,因为是我们自己生成的,没有通过第三方权威机构认证,点击继续访问即可看到 hello world 展现于我们眼前。


结束语



本文通过代理服务器的方式变向实现了 https 协议的使用,nginx 非常好用且配置简单,值得尝试,而除了使用 nginx 作为代理服务器外,我们当然可以自己用 node.js 来实现一个代理服务器,当然这次就不展开了,就写这么多吧。

目录
相关文章
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
1116 87
|
12月前
|
XML JSON API
识别这些API接口定义(http,https,api,RPC,webservice,Restful api ,OpenAPI)
本内容介绍了API相关的术语分类,包括传输协议(HTTP/HTTPS)、接口风格(RESTful、WebService、RPC)及开放程度(API、OpenAPI),帮助理解各类API的特点与应用场景。
|
12月前
|
Android开发 Kotlin
|
安全 网络安全 数据安全/隐私保护
网页安全演进:HTTP、HTTPS与HSTS
这整个进程实质上是网页安全由“裸奔”到“穿衣”再到“绑带”的演变史。它保障了数据的机密性和完整性,降低了中间人攻击的风险,最终实现了更自由、更安全的网络环境。但别忘了,技术永远在发展,网络安全的赛跑也永无终点。*ENDPOINT*
1144 11
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
430 19
|
JSON 安全 网络协议
HTTP/HTTPS协议(请求响应模型、状态码)
本文简要介绍了HTTP与HTTPS协议的基础知识。HTTP是一种无状态的超文本传输协议,基于TCP/IP,常用80端口,通过请求-响应模型实现客户端与服务器间的通信;HTTPS为HTTP的安全版本,基于SSL/TLS加密技术,使用443端口,确保数据传输的安全性。文中还详细描述了HTTP请求方法(如GET、POST)、请求与响应头字段、状态码分类及意义,并对比了两者在请求-响应模型中的安全性差异。
1183 20
|
安全 网络协议 算法
HTTP/HTTPS与SOCKS5协议在隧道代理中的兼容性设计解析
本文系统探讨了构建企业级双协议隧道代理系统的挑战与实现。首先对比HTTP/HTTPS和SOCKS5协议特性,分析其在工作模型、连接管理和加密方式上的差异。接着提出兼容性架构设计,包括双协议接入层与统一隧道内核,通过协议识别模块和分层设计实现高效转换。关键技术部分深入解析协议转换引擎、连接管理策略及加密传输方案,并从性能优化、安全增强到典型应用场景全面展开。最后指出未来发展趋势将更高效、安全与智能。
684 1
|
安全 网络安全 数据安全/隐私保护
HTTP 与 HTTPS 协议及 SSL 证书解析-http和https到底有什么区别?-优雅草卓伊凡
HTTP 与 HTTPS 协议及 SSL 证书解析-http和https到底有什么区别?-优雅草卓伊凡
841 3
|
缓存 安全 网络安全
代理协议解析:如何根据需求选择HTTP、HTTPS或SOCKS5?
本文详细介绍了HTTP、HTTPS和SOCKS5三种代理协议的特点、优缺点以及适用场景。通过对比和分析,可以根据具体需求选择最合适的代理协议。希望本文能帮助您更好地理解和应用代理协议,提高网络应用的安全性和性能。
1505 17
|
负载均衡 Unix 应用服务中间件

热门文章

最新文章