Nginx:转发TCP流量

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

一.场景介绍

近日在使用Docker容器部署某代理应用的时候发现,该应用监听的是127.0.0.1:1080地址,所以正常情况只有本地的程序才能使用该代理,但实际需要的是局域网或公网用户都可以访问使用。

二.解决方案

该代理应用使用的协议为http/sock,因此只要把外部网络的TCP流量转发到本地1080端口即可。Nginx支持转发http流量和tcp流量,因此这里就使用Nginx来解决。

1.环境安装

安装Nginx,该容器使用的镜像是Alpine,提供的包管理工具为apk,根据自己的系统工具来安装即可

apk add nginx

安装stream模块

apk add nginx-mod-stream

2.配置文件

由于转发的是TCP流量,因此配置的是stream项。

打开/etc/nginx/conf.d/stream.conf文件,将内容修改如下:

# /etc/nginx/conf.d/stream.conf

stream {
	# Specifies the main log format.
	log_format main '$remote_addr [$time_local] '
			'$protocol $status $bytes_sent $bytes_received '
			'$session_time "$upstream_addr" '
			'"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"';

	access_log /var/log/nginx/stream.log main;

	# Includes servers configs.
	include stream.d/*.conf;
	
    #本地运行的服务
    upstream tcp_backend { 
        server 127.0.0.1:1080; 
    }
    server { 
        listen 10000; 
        proxy_pass tcp_backend;
    }
}

上面配置文件将监听10000端口,然后将该端口的TCP流量转发到127.0.0.1:1080,从这里也可以看出,Nginx也支持将流量转发到任意的服务地址,这里配置成自己所需要的地址即可。

3.运行服务

检查配置文件是否正确,执行以下命令:

nginx -t

开启或重启服务

nginx

nginx -reload

至此,外部网络就可以访问127.0.0.1:1080应用服务了。文章来源地址https://www.toymoban.com/news/detail-441893.html

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

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

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

相关文章

  • Linux下nginx添加stream模块支持Tcp转发

    方式1 yum直接安装 安装nginx 安装模块 添加转发配置 /etc/nginx/nginx.conf底部添加 运行测试 方式2 源码编译 一、安装编译工具 二、安装PCRE PCRE (Perl Compatible Regular Expressions) 是一个用于处理正则表达式的库,它是一个C语言的库,可以在多种编程语言中使用。PCRE库提供了一套API来编

    2024年04月28日
    浏览(38)
  • lua使用resty.http做nginx反向代理(https请求,docker容器化部署集群),一个域名多项目转发

    下载使用 链接:https://pan.baidu.com/s/1uQ7yCzQsPWsF6xavFTpbZg 提取码:htay –来自百度网盘超级会员V5的分享 ad_load.lua文件

    2024年01月18日
    浏览(52)
  • 免费开源使用的几款红黑网络流量工具,自动化的多功能网络侦查工具、超级关键词URL采集工具、Burpsuite被动扫描流量转发插件

    免费开源使用的几款红黑网络流量工具,自动化的多功能网络侦查工具、超级URL采集工具、Burpsuite被动扫描流量转发插件。 #################### 免责声明:工具本身并无好坏,希望大家以遵守《网络安全法》相关法律为前提来使用该工具,支持研究学习,切勿用于非法犯罪

    2024年02月12日
    浏览(31)
  • 使用nginx实现请求转发的功能

    nginx(反向代理服务器)主要功能 请求转发 负载均衡 动静分离 配置nginx,实现请求转发的功能 找到nginx配置文件 在nginx.conf中进行配置 (1)最好将nginx默认的80端口修改为81 (2)配置nginx转发规则 (3)具体配置 修改config/dev.env.js中的BASE_API 重启nginx

    2024年02月11日
    浏览(66)
  • 使用Nginx进行URL转发的配置示例

    Nginx是一个高性能的Web服务器和反向代理服务器,它还可以用于URL转发。在本教学文章中,我们将从安装Nginx开始,逐步介绍配置步骤,并展示一个URL转发的案例。 步骤1:安装Nginx 首先,我们需要安装Nginx。以下是在Ubuntu系统上安装Nginx的步骤: 打开终端窗口,并执行以下命

    2024年02月10日
    浏览(36)
  • Nginx接收Http协议请求转发使用Https协议

    公司使用阿里的apigateway,规定不太友好,同是SIT环境,A系统的SIT1环境居然不能调用B系统的SIT2环境的接口。因为各个系统之间部署的SIT环境数量不同A系统可能只有1套,B系统可能有8套,这样的话,可能会随时切换调用B系统的环境,管理员不允许,于是想着用Nginx做下转发。

    2024年02月08日
    浏览(51)
  • Nginx使用 代理转发Windows远程桌面RDP功能

    一、业务需求 B是服务器192.168.31.200,A电脑192.168.31.100是跳板机,只有A这台电脑可以远程桌面访问B服务器。现在需要通过一台远程这台跳板机,间接实现对服务器B的远程访问。 二、配置nginx 在A电脑上安装Nginx,配置文件添加如下配置项: 注意:如果有多个stream模块需要设置

    2024年02月15日
    浏览(51)
  • Linux系统操作——Nginx使用OpenSSL实现https转发

    目录 一、OpenSSL创建自签名证书 1、下载安装OpenSSL  2、创建自签名的SSL证书和私钥  3、转换成.jks文件 二、配置Nginx 1、配置方法一:http和https同时监听,自动跳转https; 2、配置方法二:http自动跳转https;  3、配置方法三:http,https同时可访问; 三、开放443端口 下载地址:

    2024年02月02日
    浏览(31)
  • nginx使用详解:转发规则、负载均衡、server_name

    该指令用于匹配 URL,语法如下: 指令 说明 = 用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配 成功,就停止继续向下搜索并立即处理该请求。 ~ 用于表示 uri 包含正则表达式,并且区分大小写。 ~* 用于表示 uri 包含正则表达式,并且不区分大小写。

    2024年01月17日
    浏览(36)
  • Netty服务如何使用Nginx代理转发请求并获得原始IP

    Nginx启用stream模块,示例如下: 示例,代理远端8080的netty服务。 注意,获得原始客户端的IP关键配置在于: proxy_protocol on; 这一行配置。如果不配置,在netty服务端是无法获得原始客户端ip,但是配置上之后,netty需要调整代码。 代理http协议的时候,可以通过增加X-Forwarded-Fo

    2024年02月06日
    浏览(36)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包