天天看點

用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服務。

繼續閱讀