• 生活小妙招免费各类生活中的小问题知识以及音乐简谱等,是你了解世界未知知识的好地方。

直接让web服务运行在80端不行吗?为什么要用nginx反向代理?

十万个为什么 空空 2024-4-02 14:51:06 5次浏览

关于问题直接让 web 服务运行在 80 端不行吗?为什么要用 nginx 反向代理?一共有 2 位热心网友为你解答:

【1】、来自网友【网络系统技艺者】的最佳回答:

将 Web 服务器直接运行在 80 端口时,客户端可以直接访问服务器,也就是说,Web 服务器和客户端之间的连接是直接访问的。但这样做存在一些问题:1、安全性问题:Web 服务器直接对公共网络开放,可能会受到各种恶意攻击,如 DDoS、SQL 注入等。2、静态资源访问效率问题:静态资源(如图片、CSS、JavaScript 文件等)访问频率很高,如果 Web 服务器直接提供这些静态资源,会使 Web 服务器的负载非常高,影响整个系统的响应速度。3、动态内容处理效率问题:如果 Web 服务器直接提供动态内容(如 PHP 程序),也会使 Web 服务器的负载非常高,导致系统响应速度缓慢。

为了解决这些问题,我们可以使用反向代理服务器来代理 Web 服务器。反向代理服务器作为 Web 服务器和客户端之间的中间层,可以提供以下优势:1、安全性增强:反向代理服务器可以对 Web 服务器进行访问限制、流量控制、黑名单过滤等,从而提高系统安全性。2、负载均衡:反向代理服务器可以将请求分发到多个 Web 服务器上,从而减轻单个 Web 服务器的负载,提高整个系统的吞吐量和可用性。3、静态资源缓存:反向代理服务器可以缓存静态资源,如图片、CSS、JavaScript 文件等,从而减轻 Web 服务器的负担,加快页面加载速度。

4、动态内容加速:反向代理服务器可以对动态内容进行缓存,从而提高动态内容的处理效率,加快页面响应速度。5、URL 管理:反向代理服务器可以通过 URL 重写等技术来统一管理多个 Web 服务器的 URL,从而简化网站管理和维护。6、SSL 加速:反向代理服务器可以提供 SSL 加速,从而加快 SSL 加密和解密速度,提高系统的响应速度。

因此,使用反向代理服务器是一个可行的解决方案,能够提高 Web 服务的安全性、性能和可用性。而 Nginx 作为一种轻量级、高性能的反向代理服务器,被广泛应用于各种生产环境中。注:图片来源于网络以上就是我今天分享的内容,如果觉得还可以,就点赞+收藏+关注+转发吧!也许未来某个时间里你会用的到。

【2】、来自网友【testerzhang】的最佳回答:

其实现在估计很少人会用 80 端口部署服务了,起码都是 443 端 HTTPS 服务了,因为 HTTPS 相对更安全。但是这不影响这个问题的解答,下面我以个人的一些看法说明下。

一个服务器只有一个常用的端口

我们都知道你只买了一台公网服务器,默认 80 端口是 HTTP 服务,443 端口是 HTTPS 服务。而现在很多时候,微信、网站搜索引擎,默认都是用这些端口进行正常处理,当你有多个服务要对外开放,你如果 A 服务已经占用了 80 端口,那么 B 服务就不可以再占用 80 端口。而你采用 Nginx 服务直接占用 80 或者 443 端口,那么我们根据 Nginx 的规则配置,就可以设置如下规则:访问 url 路径/api 走 A 服务,访问 url 路径/admin 走 B 服务。

Nginx 高性能

熟悉 Nginx 性能的程序员,都知道 Nginx 的性能之高,这里就不展开说。因为有些编程语言框架,比如 Flask,本身处理 web 请求就性能不高,通过 Nginx 可以提前处理 web 请求,而 Flask 就可以更多关注业务本身的逻辑。

Nginx 负载均衡

当你的 web 服务后台可以多实例部署,这时候你说的 web 服务直接运行 80 端口,那就不能支持多台实例。而通过 nginx,就可以指向两台甚至多台实例的后端服务,而且可以设置策略进行负载请求。比如负载后端两个 web 服务,A 机器性能配置强,那么我们就可以分配更多的请求到 A 机器。B 机器性能一般,那么我们就可以减少请求到这台机器。

Nginx 安全性

因为有了 Nginx 服务器在前面进行处理请求,用户根本不知道后端是用什么语言进行处理,减少后端暴露的几率。不过由于使用 Nginx 的人很多,Nginx 的漏洞也是备受关注,所以要及时关注 Nginx 的漏洞和最新稳定版本升级。这里提供一个检测 Nginx 稳定版本的视频解说:https://www.ixigua.com/6832886164081345038/ ,有兴趣的可以看看。

Nginx 资源消耗

使用 Nginx 服务可以占用低的内存消耗,同时能支持高并发连接,何乐而不为。如果觉得回答能解决到一些问题,可以关注@testerzhang,我会不定期发布一些相关技术文章和视频。

以上就是关于问题【直接让 web 服务运行在 80 端不行吗?为什么要用 nginx 反向代理?】的全部回答,希望能对大家有所帮助,内容收集于网络仅供参考,如要实行请慎重,任何后果与本站无关!

喜欢 (0)