nginx配置端口转发(docker-compose方式、包括TCP转发和http转发)

http端口转发

docker-compose.yml文件(示例转发geoserver服务)

复制代码
services:
  nginx:
    image: nginx:latest
    container_name: nginx-proxy-geoserver
    ports:
      - "18080:18080"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
    restart: unless-stopped

nginx.conf文件

复制代码
events {
    worker_connections 1024;
}

http {
    server {
        listen 18080;

        location /geoserver/ {
            proxy_pass http://目的ip:目的端口/geoserver/;

            proxy_set_header Host 目的ip:目的端口;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

            proxy_redirect http://目的ip:目的端口/ http://$host:目的端口/;
        }
    }

以上配置达到的目的是将目的ip的目的端口映射到本机的18080端口,达到本机18080端口转发到目的ip的目的端口。(监控的是本机的18080端口)

TCP端口转发(例如mysql 、postgres)

docker-compose.yml文件

复制代码
services:
  nginx:
    image: nginx:latest
    container_name: nginx-proxy-pg
    ports:
      - "15432:15432"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
    restart: unless-stopped

nginx.conf文件

复制代码
events {
    worker_connections 1024;
}

stream {
    server {
        listen 15432;
        proxy_pass 目的ip:目的端口;
        proxy_timeout 30s;
        proxy_connect_timeout 10s;
    }
}

以上配置达到的目的是将目的ip的目的端口映射到本机的15432端口,达到本机15432端口转发到目的ip的目的端口。(监控的是本机的15432端口)

相关推荐
格林威4 分钟前
Windows 实时性补丁(RTX / WSL2)
linux·运维·人工智能·windows·数码相机·计算机视觉·工业相机
xuxie995 分钟前
N22 key驱动
linux·运维·服务器
WangJunXiang616 分钟前
LVS 负载均衡群集
运维·负载均衡·lvs
百结21419 分钟前
LVS 负载均衡群集
运维·负载均衡·lvs
IMPYLH19 分钟前
Linux 的 nl 命令
linux·运维·服务器·bash
卤炖阑尾炎20 分钟前
从原理到实战:LVS 负载均衡集群全解析(OpenEuler 环境)
运维·负载均衡·lvs
南境十里·墨染春水30 分钟前
linux学习进展 主函数的参数
linux·运维·学习
ZGi.ai36 分钟前
用Agent编排实现合同审查自动化:完整实现过程
运维·人工智能·自动化
魔都吴所谓1 小时前
【Ubuntu】22.04安装 CMake 3.24
linux·运维·ubuntu
学不完的1 小时前
Kubernetes控制器
docker·容器·kubernetes