nginx 公用端口配置

这篇博客介绍了如何通过Nginx配置公共端口,实现外网通过同一个端口号访问内网中不同端口的服务。详细配置包括设置server监听外网端口、server_name指定外网IP,以及location内部配置,如proxy_pass指向内网服务,proxy_set_header设置请求头,以及各种超时和缓冲设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内网端口不一样,但是公用一个nginx的外网端口号,来访问


http://外网ip:(80对应的外网端口)/a  对应内网的某个端口 的网站

http://外网ip:(80对应的外网端口)/b  对应内网另外一个端口 的网站


upstream test{

server xxxx.xxx.xxxx(内网ip):内网端口号;
}


 
server {
         listen       80;(内网是80,外网可能是别的端口号)
         server_name  xx.xxx.xxx.xx(外网ip);
      


        #charset koi8-r;


        #access_log  logs/host.access.log  main;
       
        
location ^~ /test1{
        proxy_pass   http://test;
        proxy_redirect         off;
            proxy_set_header       Host             $host:对应的内网端口号(如果不是80则需要列出,否则跳转有问题);
            proxy_set_header       X-Real-IP        $remote_addr;
            proxy_set_header       X-Forwarded-For  $proxy_add_x_forwarded_for;
            
    #允许客户端请求的最大的单个文件字节数
            client_max_body_size    1024m;
            #缓冲区代理缓冲用户端请求的最大字节数 可以理解为先保存到本地再传给用户
            client_body_buffer_size 128k;
            #跟后端服务器连接的超时时间_发起握手等候响应超时时间
            proxy_connect_timeout   300;
            #连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理
            proxy_read_timeout      300;
            #后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据
            proxy_send_timeout      300;
            #代理请求缓存区_这个缓存区间会保存用户的头信息以供Nginx进行规则处理_一般只要能保存下头信息即可
            proxy_buffer_size       4k;
            #同上 告诉Nginx保存单个用的几个Buffer 最大用多大空间
            proxy_buffers           4 32k;
            #如果系统很忙的时候可以申请更大的proxy_buffers 官方推荐*2
            proxy_busy_buffers_size 64k;
            #proxy缓存临时文件的大小
            proxy_temp_file_write_size 64k;
        }

}


 location ~ ^/console/{
                deny all;
        }

在配置文件后面加一句这个,控制台就访问不到了 

感谢同事谢工 帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值