搭建nginx 代理postman访问生产环境

274 阅读1分钟

一、背景

公司办公环境和生产环境网络不通,有时为了访问线上的接口,不得不登到生产环境的机器去curl。可是我想在办公网络环境下通过postman访问接口。这时可以找一台既可以访问生产环境,又可以被办公网络访问的服务器,在上面搭建一个代理。

二、搭建代理服务器

2.1 下载nginx

docker pull nginx

2.2 配置nginx

mkdir -p /data/deploy/nginx/logs 
mkdir -p /data/deploy/nginx/conf 
mkdir -p /data/deploy/nginx/html

/data/deploy/nginx/conf/nginx.conf 配置文件中写入以下内容

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    log_format custom_log_format '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent"' ' "$http_cookie"';
    access_log /var/log/nginx/access.log custom_log_format;
    server {
        listen 80;
        
        location / {
            set $backend_scheme $scheme;
            set $backend_host $http_host;
            set $backend_uri $request_uri;
            
            proxy_pass $backend_scheme://$backend_host$backend_uri;
            proxy_set_header Host $backend_host;
            proxy_set_header User_Agent $http_user_agent;
            proxy_set_header Cookie $http_cookie;
            proxy_set_header Connection $http_connection;
            proxy_set_header Accept $http_accept;
            proxy_set_header Accept-Language $http_accept_language;
            proxy_set_header Accept-Encoding $http_accept_encoding;
            proxy_set_header Referer $http_referer;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
}

启动docker,8885端口可根据自身情况更换。

docker run \ 
-p 8885:80 \ 
--name nginx \ 
-v /data/deploy/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ 
-v /data/deploy/nginx/conf/conf.d:/etc/nginx/conf.d \ 
-v /data/deploy/nginx/logs:/var/log/nginx \ 
-v /data/deploy/nginx/html:/usr/share/nginx/html \ 
-d nginx:latest

三、配置postman

在postman 设置 -> Proxy 中配置代理信息。 Proxy Server 填入docker所在的机器的ip,端口填入docker的映射端口。

image.png

四、大功告成

可以访问生产环境的服务了。