Nginx 实现端口转发

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

首先我们需要找到服务器部署的nginx的配置文件nginx.conf:

找到如下代码段实现配置端口转发

# nginx代理转发

server {
    listen  80;
    server_name     x.x.x.x;
    location / {
        proxy_set_header Host $host;
        proxy_pass      http://localhost:8080; # 当你访问80端口可以实现向8080端口转发
    }
}

其中有几个配置,我们一个一个讲:

listen:

表示你该配置的server所监听的端口号。

server_name:

用于设置虚拟主机服务名称,如:127.0.0.1 、 localhost 、域名

例如,在windows本地主机上进行修改该配置,则当访问该名称时会被nginx拦截,这里或者直接在C:\WINDOWS\system32\drivers\etc\hosts修改,也能达到此效果。

location :

location后面跟着的路径匹配是你访问80端口时所匹配的路径,当匹配到该路径时会被拦截,并进行路径转发。你可以在一个server里面配置多个location。

下面是nginx路径匹配的规则

#路径完全一样则匹配
location = path {
}

#路径开头一样则匹配
location ^~ path{
}

#正则匹配,大小写敏感
location ~ path{
}

#正则匹配,大小写不敏感
location ~* path{
}

#前缀匹配
location path{
}

下面是路径匹配规则的实例

?、/、/*和/**的区别配置:

"/index?"能够匹配到"/indexA","/indexB",可是不能匹配"/index",也不能匹配"/indexAA";请求

"/index*"能够匹配"/indexA","/indexAA",可是不能匹配"/index/A";index

"/index/*"能够匹配"/index/","/index/A","/index/AA","/index/ABC",可是不能匹配"/index",也不能匹配"/index/A/B";

"/index/**"能够匹配"/index/"下的多个子路径,好比"/index/A/B/C/D";

proxy_set_header:

允许重新定义或者添加发往后端服务器的请求头

(17条消息) Nginx proxy_set_header参数设置_summer_west_fish的博客-CSDN博客

(17条消息) nigix的proxy_set_header、proxy_pass、proxy_redirect_proxy_set_header proxy_pass_程序员的修养的博客-CSDN博客

这篇写的很详细哈

proxy_set_header       Host $http_host; 
##$http_host:代理服务器本身IP,不改变请求头的值.
##$proxy_host 会重新设置请求头
##$host 请求未携带HOST请求头时为虚拟主机的主域名

proxy_set_header       X-Real-IP $remote_addr;

proxy_set_header       X-Forwarded-For $proxy_add_x_forwarded_for;
X-Forwarded-For: client1, proxy1, proxy2

proxy_pass:

你所想转发的路径。

proxy_redirect:

用来设置url重定向文章来源地址https://www.toymoban.com/news/detail-416835.html

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

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

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

相关文章

  • 用Nginx做端口转发(反向代理)

    本文中,我们介绍Nginx如何做端口转发,还有各种转发规则 首先介绍最常用的,将域名转发到本地另一个端口上 这样访问 http://tomcat.shaochenfeng.com 时就会转发到本地的 8080 端口

    2024年02月14日
    浏览(42)
  • nginx 反向代理服务器端口转发问题

    先介绍一下项目背景,公司里有个外包Saas项目,这里假设为A项目( 前后端不分离 );项目架构大概如下;但是项目部署到生产环境时,那台服务器80端口被其他应用占用了(我尼玛...),nginx监听端口那边只能监听其他端口了,比如监听:18000,通过nginx反向代理将18000端口转发到

    2024年02月04日
    浏览(52)
  • Nginx常用配置-反向代理-https重定向-端口转发

    二级目录映射 目前前后端项目分离场景多了以后,一般是前端一个端口,后端一个端口。 如前端是https://example.com/index.html,调用的接口是https://example.com:4433 如此部署对于一些小项目未免有些麻烦,当然你在公网环境下也可以选择使用子域名、其他域名进行跨域访问。 这里说

    2024年02月16日
    浏览(39)
  • nginx 把所有请求转发到另一个端口, 并添加header头,怎么配置

    要将nginx中的所有请求转发到另一个端口,可以使用nginx的 proxy_pass 指令来实现。以下是配置文件示例: 在上述配置中,我们创建了一个服务器块,并监听80端口,这是常见的HTTP请求端口。 server_name 指令用于指定该服务器块适用的域名,你需要将其替换为你的域名。 location

    2024年02月12日
    浏览(35)
  • vscode 端口转发实现端口映射,实现端口自由

    用vscode连接server进行开发, 是非常方便的,但很多时候,server的端口开放的很有限,那么就可以利用vscode进行端口映射   举一个应用场景: 先通过A利用vscode 连接B,然后再vscode 的port窗口进行端口转发,比如将22端口映射到A本地的5000, 然后再通过Host利用vscode连接A,利用端

    2024年02月16日
    浏览(36)
  • 防火墙实现端口转发

    目的:通过使用linux中的iptables和firewalld来实现本地端口转发和远程端口转发。 一、iptables 1.本地端口转发 比如当我们访问192.168.87.5的1234端口时,自动帮我们转到80端口 命令如下: iptables -t nat -I PREROUTING -p tcp --dport 1234 -j REDIRECT --to-ports 80 验证:  2.远程端口转发 当我们访问

    2024年02月03日
    浏览(35)
  • 21.13 Python 实现端口流量转发

    端口流量转发(Port Forwarding)是一种网络通信技术,用于将特定的网络流量从一个端口或网络地址转发到另一个端口或地址。它在网络中扮演着一个非常重要的角色,在Python语言中实现端口转发非常容易。 如下这段代码实现了一个基本的TCP端口映射,将本地指定端口的流量转

    2024年02月06日
    浏览(37)
  • Windows实现端口转发(附配置过程图文详解)

    利用Windows端口转发,实现本地设备 ⬅➡ 公网主机 ⬅➡ 远端服务器 以 管理员身份 打开“命令提示符”cmd 防火墙必须关闭 这个命令可以查询本机已设置的端口转发规则 端口转发规则包含(本机本地侦听IP192.168.3.6和侦听端口240x)+(远端服务器IP+端口)的对应关系 这个命令

    2024年02月15日
    浏览(35)
  • 无法从命令行或调试器启动服务,必须首先安装Windows服务....。在“安装”阶段发生异常。 System.Security.SecurityException:未找到源

    此处一共两个问题,第一个问题完整描述是: 无法从命令行或调试器启动服务,必须首先安装Windows服务(使用installutil.exe),然后用ServerExplorer、Windows服务器管理工具或NET START命令启动它。 第二个问题是: Windows Service服务 出现System.Security.SecurityException: 未找到源,但未能搜索

    2023年04月15日
    浏览(80)
  • wsl利用netsh端口转发实现http代理

    上面命令执行完成后,检查命令是否执行成功 检查端口是否正常监听 这里注意两个问题,遇到过netsh命令正常执行后,但是端口没有被监听 1、防火墙没有关闭 2、IP Helper服务没有启动 这样就可以实现wsl上的http代理了

    2024年01月22日
    浏览(63)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包