用nginx实现反向代理,实现外网访问内网的服务

环境背景,服务器为Ubuntu:

一台可以连接公网和内网的服务器A,公网IP地址:61.174.×.×,另一台内网服务器B上安装jenkins服务,内网的IP地址192.168.3.12

操作步骤:

在A上安装nginx

sudo apt-get install nginx

安装好之后,进入/etc/nginx/sites-enabled目录,打开目录中的文件,修改默认端口号为8085,

然后进入/etc/nginx/conf.d 目录,新建文件 jenkins.conf,文件内容如下:

server{

listen 8085;

server_name 61.174.171.61;

 

location /{

proxy_set_header X-Real-IP $remote_addr;

 

proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;

 

proxy_set_header Host $http_host;

 

proxy_set_header X-Nginx-Proxy true;

 

proxy_pass http://192.168.3.12:8080;

 

proxy_redirect off;

 

}

然后执行sudo nginx -t

sudo nginx -s reload

如果出现错误:nginx: [error] invalid PID number "" in "/run/nginx.pid"

则执行 sudo nginx -c /etc/nginx/nginx.conf 

然后在公网上访问61.174.171.61:8085,即可访问到内网的jenkins服务。

你可能感兴趣的:(Ubuntu,nginx)