Nginx反向代理详解

这篇具有很好参考价值的文章主要介绍了Nginx反向代理详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

当你需要通过 Nginx 来代理自己的端口时,你就像打开了一扇大门,让你的应用程序能够以更安全、更高效的方式与外部世界进行通信。Nginx 是一个强大的开源反向代理服务器,它可以帮助你实现负载均衡、缓存加速、SSL 终止和许多其他功能。

在本篇博客中,我将向你展示如何使用 Nginx 来代理自己的端口。我们将探索如何配置 Nginx,使其成为一个可靠的中间层,将外部请求转发到你的应用程序运行的特定端口上。通过设置适当的代理规则,你可以轻松地实现域名映射、请求转发和负载均衡,同时保持应用程序的安全性和稳定性。


一、本地hosts是什么?

当介绍如何通过 Nginx 代理自己的端口之前,让我们先来了解一下本地hosts文件。

在计算机网络中,本地hosts(也称为hosts文件)是一个用于将主机名映射到 IP 地址的文本文件。它位于操作系统的本地文件系统中,可以在没有 DNS 服务器的情况下实现基本的域名解析功能。

当你在浏览器中输入一个域名时,操作系统会首先检查本地hosts文件是否包含该域名的映射规则。如果存在匹配的映射规则,它将使用hosts文件中定义的 IP 地址进行访问。通过编辑hosts文件,你可以手动添加自定义的域名和 IP 地址映射,以达到一些特定的目的,例如:

  1. 开发环境配置:你可以将本地开发服务器的 IP 地址与一个特定的域名关联起来,方便在浏览器中直接通过域名访问本地开发环境而不使用 IP 地址。
  2. 屏蔽广告或恶意网站:通过将广告或恶意网站的域名映射到无效的 IP 地址,你可以阻止这些域名加载。
  3. 访问被屏蔽的网站:有些国家或组织可能屏蔽了某些网站,你可以通过将这些网站的域名映射到有效的 IP 地址来绕过封锁。

下面是我本地的配置hosts示例:

首先在自己的电脑上根据路径找到hosts文件,C:\Windows\System32\drivers\etc

Nginx反向代理详解,nginx,后端,反向代理
然后打开hosts文件就可以进行配置

Nginx反向代理详解,nginx,后端,反向代理

通过上面的配置,就实现了域名和 IP 地址的映射。

二、nginx配置详解

1.实战配置

首先我们需要下载好nginx,我下载的是windows版本的nginx,大家只需要去官方网站下载即可,下面我们步入正题:

1. 第一步就是找到nginx的conf文件夹在里面新建一个conf文件

Nginx反向代理详解,nginx,后端,反向代理
这个是我已经建好的conf文件。

2. 第二步就是添加配置代码

server {	
		server_name promotion.cdel.local;
        charset utf-8;
		listen 80;
        access_log  logs/access.promotion.cdeledu.com.log;
		resolver 127.0.0.1;

	 location /service-trade-favourable/ {  
     proxy_pass http://localhost:33012/;  
}
}

代码详解:

  1. server 块:这是 Nginx 配置文件中的主要块,用于定义一个虚拟服务器。
  2. server_name promotion.cdel.local;:指定了要匹配的服务器名。当请求的 Host头和该值匹配时,Nginx 将使用当前的 server 块进行处理。
  3. charset utf-8;:设置字符集为 UTF-8,以确保正确的编码和解析请求。
  4. listen 80;:指定 Nginx 监听的端口号为 80,这是 HTTP 请求的默认端口。
  5. access_log:logs/access.promotion.cdeledu.com.log;:定义了访问日志的位置和文件名。通过此配置,Nginx
    将记录访问日志到指定的文件中,便于后续分析和监控。
  6. resolver 127.0.0.1;:指定用于解析 DNS 的 IP 地址。在这个例子中,使用本地的 DNS 解析器(即127.0.0.1)进行域名解析。
  7. location /service-trade-favourable/ {}:这是一个 location 块,用于匹配特定的请求路径。
  8. proxy_pass http://localhost:33012/;:设置代理规则,将匹配到的请求转发到本地的端口 33012上。http://localhost:33012/ 是代理目标的地址。

这段配置的作用是,当请求的 Host 头与 promotion.cdel.local 匹配,并且请求路径为 /service-trade-favourable/ 时,Nginx 将代理该请求到本地的端口 33012 上。

你可以根据自己的实际需求,修改 server_name、listen 端口、location 路径和 proxy_pass 地址来满足你的代理需求。确保在使用此配置之前,已经安装并正确配置了 Nginx,并将该配置文件保存为有效的 Nginx 配置文件(通常以 .conf 结尾)。

3. 第三步就是在nginx中引入我们刚才添加的配置文件

我们需要找到nginx默认读取的conf文件并打开它。

Nginx反向代理详解,nginx,后端,反向代理

然后在里面添加这样一条指令,用于包含外部的配置文件。

Nginx反向代理详解,nginx,后端,反向代理

4. 第四步就是开启nginx

开启nginx非常简单,打开这个文件就可以。

Nginx反向代理详解,nginx,后端,反向代理

2.演示效果

这个是我访问本地启动的服务得到的响应。

Nginx反向代理详解,nginx,后端,反向代理

下面我们使用反向代理的路径发送请求,从结果可以看出,nginx代理已经成功了。
Nginx反向代理详解,nginx,后端,反向代理

总结

在本篇博客中,我们探讨了如何通过 Nginx 对自己的端口进行代理。我们首先介绍了本地hosts文件的概念,它可以用来手动映射域名与IP地址。接着,我们提供了一个示例配置文件,解释了每个配置指令的作用和用法。

通过这个示例配置,我们学习了如何使用Nginx将特定的请求路径转发到本地运行的特定端口上。

总结起来,通过Nginx对自己的端口进行代理具有以下优点:

  • 提供更安全、更高效的通信方式。
  • 允许灵活地配置域名映射和请求转发规则。
  • 支持负载均衡,提高应用程序的性能和可伸缩性。

最后,我希望我的博客能为您提供有价值的信息,并对您在使用 Nginx 进行端口代理方面提供帮助,感谢您的阅读。文章来源地址https://www.toymoban.com/news/detail-816369.html

到了这里,关于Nginx反向代理详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深度详解Nginx正向代理与反向代理

    它的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我,从网站的角度

    2024年02月11日
    浏览(49)
  • Nginx反向代理配置模块详解

    随着互联网的发展,Web 应用越来越广泛,随之而来的是对 Web 服务器的高并发、高可用、高性能等需求的日益增长。Nginx 作为一个高性能的 HTTP 和反向代理服务器,由于其出色的性能和稳定性,越来越受到人们的青睐。本篇文章将详细讲解 Nginx 中的反向代理功能及其配置方法

    2024年01月23日
    浏览(36)
  • Nginx 【location配置路径详解、反向代理、负载均衡】

    在使用nginx时,我们配置最多的就是location项了。方向代理、负载均衡、静态资源服务器这些高频使用的共能点,几乎主要都在location配置。本文内容将包含上诉功能,并详细介绍location的匹配规则。 location的匹配语法分成两个部分, [] 括号中的时匹配符,决定以何种方式进行

    2024年02月03日
    浏览(41)
  • Nginx详解 第五部分:Ngnix反向代理(负载均衡 动静分离 缓存 透传 )

    什么是正向代理? 正向代理代理的是客户端 。 客户端设备要访问局域网以外的 Internet 时,需在客户端浏览器中配置代理服务器,然后通过代理服 务器来进行访问,将访问到的局域网以外的 Internet 网站内容返回给客户端,而不是通过局域网中的客 户端设备直接访问。 正向

    2024年02月10日
    浏览(68)
  • Nginx(4)nginx的反向代理

    正向代理代理的对象是客户端,反向代理代理的是服务端,这是两者之间最大的区别。Nginx即可以实现正向代理,也可以实现反向代理。 先通过一个小案例演示下Nginx正向代理的简单应用,需求如下: (1)服务端的设置:当客户端发送请求之后,需要在指定日志文件里面输出客

    2024年02月03日
    浏览(62)
  • 【Nginx三】——Nginx实现反向代理

    【Nginx一】——Nginx介绍(正向代理 反向代理 负载均衡 动静分离) 【Nginx二】——Nginx常用命令 配置文件 Nginx如何处理请求 本篇博客主要介绍Nginx如何实现反向代理,会进行介绍什么是反向代理,以及进行实例实现反向代理。 代理服务器来接收网络上请求,然后将请求转发

    2024年02月05日
    浏览(63)
  • Nginx 正向代理和反向代理

    博主介绍 : ✌博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家✌ Java知识图谱点击链接: 体系化学习Java(Java面试专题) 💕💕 感兴趣的同学可以收藏关注下 , 不然下次找不到哟 💕💕 Nginx性能高的原因有以下几点: Nginx是一个轻量级的We

    2024年02月08日
    浏览(42)
  • Nginx代理nginx.conf配置——反向代理(对WebSocket支持)

    基于Nginx代理nginx.conf配置——反向代理,如果要添加websocket支持,需要进行如下配置 在http中添加一下配置,添加对websocket支持 配置后重新运行nginx后,websocket即可成功代理。 注意防火墙端口是否开放、nginx如果使用docker,其对应的端口是否映射出来。

    2024年02月13日
    浏览(38)
  • Nginx(一)介绍Nginx、正向代理和实现反向代理的两个实例

    中国Nginx官网:https://www.nginx-cn.net/ GitHub地址:https://github.com/nginxinc/ 客户端想访问tomcat服务器,只需要访问ww.baidu.com。对真实的服务器IP是隐藏的 1、反向代理实例一(反向代理,访问www.123.com) 步骤一:修改主机映射“C:WindowsSystem32driversetchosts” 步骤二:修改Nginx中的配

    2024年02月08日
    浏览(47)
  • Nginx 反向代理负载均衡

    Nginx 反向代理负载均衡 普通的负载均衡软件,如 LVS,其实现的功能只是对请求数据包的转发、传递,从负载均衡下的节点服务器来看,接收到的请求还是来自访问负载均衡器的客户端的真实用户;而反向代理就不一样了,反向代理服务器在接收访问用户请求后,会代理用户

    2024年02月03日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包