当前位置:首页 > CN2资讯 > 正文内容

nginx如何迁移服务器 nginx转发服务器

2天前CN2资讯


上篇文章介绍了nginx静态虚拟配置的实现,而在实际项目中,情况都比较复杂。

项目nginx实用需求:
通过浏览器浏览获取数据,内部通过nginx实现端口转发,实现数据的传输实现。(通过浏览器访问192.168.11.27:9000, nginx转发到1010端口,返回数据)

毫无疑问,要想实现此功能,nginx.conf 配置文件才是我们操作的核心。关于端口转发的相关资料,nginx 中文文档中也有,这里就不做介绍了,直接贴代码了。

注意:
注意:
注意:本次例子中,用户请求存放在系统的 /usr/share/nginx/www/test.txt 路径下。

server{ listen 9000; server_name mytest001; access_log /var/log/nginx/access.9000.log; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-Port $remote_port; proxy_set_header X-Forwarder-For $proxy_add_x_forwarded_for; proxy_set_header Via "nginx"; #set config of websocket proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; location /usr { proxy_pass http://192.168.11.127:1010; } } server{ listen 1010; server_name mytest; access_log /var/log/nginx/access.1010.log; location / { root /; index index.html index.htm; } }

在这里需要注意的是:

  • 转发书写规则
  • location /usr { proxy_pass http://192.168.11.127:1010; }

    当nginx检测到 192.168.11.127:9000/usr 时, 就会自动将该url转发到 192.168.11.127:1010/usr

  • 路经要使得源端口与转发端口转化后路径一致
    当上一章我们在设置虚拟静态路径时,将监听端口1010 的root 设置为了 /usr/share/nginx/www, 所以,我们可以通过
    url:192.168.11.127:1010/test.txt 直接就能到test.txt 文件。

    然而当不更改监听端口为1010的root路径时,我们通过url:192.168.11.127:9000/usr /test.txt 想要访问text.txt 文件,然而却返回404.

    根据抓包和查看log文件可以得知,尽管nginx将来自9000端口的数据转发到了1010端口,但是实际请求数据为 /usr/test.txt, 所以端口1010端口收到的url 仅仅为/usr/test.txt,而并不是nginx根据静态路径转换到的 /usr/share/nginx/www/test.txt, 所以,根据实际的url (/usr/test.txt)是无法访问到test.txt 的,所以系统会返回404.
  • 为了解决路径问题,我们可以采用统一的采用跟路径为基准路径的方法,规范url中路径为绝对路径,这样就可以使得数据能够正常被访问。

    所以,修正端口1010的root路径为 / ,可以通过url: 192.168.11.127:1010/usr/share/nginx/www/test.txt 来访问数据, 而当通过9000端口时(url: 192.168.11.127:9000/usr/share/nginx/www/test.txt ),nginx将来自9000端口的路径 /usr/share/nginx/www/test.txt 转发给1010端口,故1010端口收到的路径为 /usr/share/nginx/www/test.txt ,故能正常访问到test.txt中的数据。

    验证:
    根据上文中的nginx.conf文件,重新加载后(nginx -s reload), 通过浏览器和postman两个工具做测试

    当访问端口为1010时,浏览器访问结果如下:


    当访问端口为1010时,postman访问结果如下:

    当访问端口为9000时,浏览器访问结果如下:


    当访问端口为9000时,postman 访问结果如下:

    至此,nginx的反向代理功能已经梳理通,剩下的工作就是根据项目需求实现数据的传递了。


      你可能想看:

      扫描二维码推送至手机访问。

      版权声明:本文由皇冠云发布,如需转载请注明出处。

      本文链接:https://www.idchg.com/info/23859.html

      分享给朋友:

      “nginx如何迁移服务器 nginx转发服务器” 的相关文章

      选择最佳Gigabit VPS托管服务指南

      当我第一次听说Gigabit VPS时,我很快意识到它不仅是一个技术术语,而是一个可以极大改进在线业务性能的工具。那么,Gigabit VPS究竟是什么呢?简而言之,Gigabit VPS意指那些配备每秒10千兆位网络连接的虚拟专用服务器。这种高带宽的连接速度,显然适合那些需要流畅流媒体、快速文件传...

      RackNerd IP测评:选择可靠VPS的最佳指南

      在我接触过的众多VPS服务提供商中,RackNerd以其高性价比的特点脱颖而出。作为一家位于美国的公司,RackNerd专注于为用户提供可靠的虚拟私人服务器(VPS)解决方案。在这里,我将和大家分享一些关于RackNerd的重要信息,尤其是它的IP测评,我认为这对想要选择VPS的用户来说至关重要。...

      PacificRack低价VPS服务评测与用户体验分析

      在云计算和虚拟主机服务日益普及的今天,PacificRack作为QuadraNET旗下的全资子品牌,逐渐在低价VPS市场中崭露头角。它的主要定位是为那些对性能要求不高,且对价格敏感的用户提供解决方案。PacificRack通过严格的资源管理,致力于为用户提供一种经济实惠的选择,适合希望以最低成本体验...

      Virmach Coupons: 轻松获取超值优惠,优化你的VPS选择

      Virmach成立于2014年,作为一家美国VPS服务商,在业内享有良好的声誉。它的总部位于加利福尼亚州洛杉矶,正是这样得天独厚的地理位置让它能迅速成长并服务全球用户。到现在为止,Virmach已经发展成为一家提供各种配置和价格方案的服务商,特别以低价VPS而闻名,吸引了大量希望降低运营成本的个人和...

      BBR对国内网站的实际作用与应用效果分析

      BBR(Bottleneck Bandwidth and Round-trip propagation time)算法是由Google推出的一种TCP拥塞控制算法。它的设计初衷是为了优化网络连接的传输速率和稳定性,尤其是在面临高延迟和波动网络条件时表现优异。可能的很多朋友会问,BBR到底是个什么东西...

      NameSilo续费优惠码2024:如何利用优惠码降低域名续费成本

      在域名注册的世界中,NameSilo是一颗璀璨的明珠。成立于2010年的这家公司,迅速赢得了用户的青睐。人们总是追求优质且经济实惠的服务,而NameSilo无疑满足了这一需求。便宜的价格和稳定的服务让它在众多注册商中脱颖而出。 回想起最初使用NameSilo的经历,选择它不仅因为价格的吸引,更多的是...