Nginx内网单机反向代理如何实现_Nginx内网反向代理实现教程

Linux教程 pcbiji 2716浏览 0评论

Nginx 内网单机反向代理是 Nginx 一个很重要的功能,能够实现服务器的负载均衡,但是很多小伙伴不知道怎么配置,今天电脑笔记网就准备了这篇文章,给大家介绍了 Nginx 内网单机反向代理的实现方法,大家文中通过我们的示例代码进行配置,有兴趣的小伙伴们可以参考一下。

Nginx 内网反向代理实现教程

Nginx 内网反向代理实现教程

首先准备两台内网服务器,我们准备了下面的这两个:

Ubuntu 18.04 虚拟机 1 IP:192.168.10.10

Ubuntu 18.04 虚拟机 2 IP:192.168.10.11

测试目的:在虚拟机 1 上部署 Nginx 服务器,地址为:192.168.10.10:80,通过浏览器访问我们设定的域名,可以反向代理到内网虚拟机 2,地址为:192.168.10.11:1234 上。

虚拟机 2 最好原本就能用浏览器访问,显示界面区别于 Nginx,比如安装一个 tomcat,这样可以便于测试,方便知道结果。

首先是 Nginx 的安装

虚拟机1作为Nginx服务器,需要安装一些软件,代码如下:

sudo apt-get install build-essential
sudo apt-get install libtool
sudo apt-get update
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install zlib1g-dev
sudo apt-get install openssl
sudo apt-get update
sudo apt-get install nginx

完成之后,使用 systemctl status nginx 命令验证是否安装成功。

显示内容如下,则表示安装成功:

$ systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: en
   Active: active (running) since Mon 2021-11-01 10:07:38 CST; 4h 19min ago
     Docs: man:nginx(8)
 Main PID: 8915 (nginx)
    Tasks: 3 (limit: 9461)
   CGroup: /system.slice/nginx.service
           ├─8915 nginx: master process /usr/sbin/nginx -g daemon on; master_pro
           ├─8916 nginx: worker process
           └─8917 nginx: worker process
...

然后配置 Nginx

在虚拟机 1 上:

Nginx 的配置文件在 /etc/nginx/nginx.conf,需要注意的是要把以下内容解除注释:

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;

修改后用 service nginx restart 命令重启 Nginx。

然后创建 /etc/nginx/conf.d/test.conf,配置内容如下:

server {
  listen 80; #Nginx服务器监听端口
  charset     utf-8;
  server_name test.com; #域名
 
  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.10.11:1234/; #反向代理的IP+端口
    proxy_redirect off;
  }
}

需要注意的是:proxy_pass http://192.168.10.10:1234/; 这行中,最后的’/’斜杠一定不要忘记加上。

然后使用 nginx -s reload 命令,重启 Nginx,这是会启用新的配置文件。

Nginx reload 命令的原理是,首先检查配置文件的语法是否存在错误,然后主进程尝试启用新配置,如果成功就启动新的工作进程,并关闭旧的进程,如果失败了,就还沿用旧配置进行运行,比较安全。

接下来是修改 hosts 文件

需要在虚拟机 1 在 /etc/hosts 文件中添加:

192.168.10.10  test.com

最后是测试,在浏览器中输入 192.168.10.10,显示的是 Nginx 的文字,这是虚拟机 1 自身的 Nginx 效果,而输入test.com,则是虚拟机 2 的内容,说明反向代理成功。

到这里,这篇关于 Nginx 内网单机反向代理如何实现的文章就介绍完了,大家要是还有什么问题可以给我们留言,如果配置过程中有意外的错误可以自己先尝试解决,这样才能提高自己的技术。

转载请注明:电脑笔记网 » Nginx内网单机反向代理如何实现_Nginx内网反向代理实现教程

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址