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