Nginx内网单机反向代理的实现


Posted in Servers onNovember 07, 2021

Nginx内网单机反向代理

Ubuntu18.04虚拟机1 IP:192.168.10.10
Ubuntu18.04虚拟机2 IP:192.168.10.11

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

虚拟机2最好原本就能用浏览器访问,显示界面区别于Nginx,比如安装一个tomcat。

1 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
...

2 配置Nginx

虚拟机1:

/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更新配置

reload的原理:
1 首先检查配置语法是否有误
2 主进程尝试应用配置
3 如果成功:启动新工作进程,并关闭旧的进程
4 如果失败:主进程配置回滚

3 修改hosts文件

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

192.168.10.10  test.com

4 测试

在浏览器中输入192.168.10.10,显示的是Nginx的文字,这是虚拟机1自身的Nginx效果。

而输入test.com,则是虚拟机2的应用内容,说明反向代理成功。

到此这篇关于Nginx内网单机反向代理的实现的文章就介绍到这了,更多相关Nginx内网反向代理内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Servers 相关文章推荐
Nginx+Tomcat实现负载均衡、动静分离的原理解析
Mar 31 Servers
Nginx优化服务之网页压缩的实现方法
Mar 31 Servers
Nginx代理同域名前后端分离项目的完整步骤
Mar 31 Servers
Mac环境Nginx配置和访问本地静态资源的实现
Mar 31 Servers
Nginx反爬虫策略,防止UA抓取网站
Mar 31 Servers
Nginx如何配置Http、Https、WS、WSS的方法步骤
May 11 Servers
总结高并发下Nginx性能如何优化
Nov 01 Servers
Apache Pulsar集群搭建部署详细过程
Feb 12 Servers
Windows和Linux上部署Golang并运行程序
Apr 22 Servers
在Windows Server 2012上安装 .NET Framework 3.5 所遇到的问题
Apr 29 Servers
Linux下搭建SFTP服务器的命令详解
Jun 25 Servers
Windows10安装Apache2.4的方法步骤
Jun 25 Servers
zabbix自定义监控nginx状态实现过程
总结高并发下Nginx性能如何优化
Rhit高效可视化Nginx日志查看工具
Nginx+Tomcat负载均衡集群的实现示例
Nginx反向代理学习实例教程
使用Nginx搭载rtmp直播服务器的方法
Oct 16 #Servers
详解Nginx 被动检查服务器的存活状态
Oct 16 #Servers
You might like
MySQL修改密码方法总结
2008/03/25 PHP
php网站判断用户是否是手机访问的方法
2013/11/01 PHP
3款值得推荐的微信开发开源框架
2014/10/28 PHP
php中使用url传递数组的方法
2015/02/11 PHP
PHP使用JpGraph绘制折线图操作示例【附源码下载】
2019/10/18 PHP
Laravel实现通过blade模板引擎渲染视图
2019/10/25 PHP
ext 代码生成器
2009/08/07 Javascript
HTML Dom与Css控制方法
2010/10/25 Javascript
node.js 一个简单的页面输出实现代码
2012/03/07 Javascript
JavaScript获取对象在页面中位置坐标的方法
2016/02/03 Javascript
AngularJS入门教程之路由机制ngRoute实例分析
2016/12/13 Javascript
微信小程序 出现47001 data format error原因解决办法
2017/03/10 Javascript
jquery DataTable实现前后台动态分页
2017/06/17 jQuery
vue组件学习教程
2017/09/09 Javascript
JQ图片文件上传之前预览功能的简单实例(分享)
2017/11/12 Javascript
Vue调试神器vue-devtools安装方法
2017/12/12 Javascript
微信小程序之圆形进度条实现思路
2018/02/22 Javascript
webpack4 处理SCSS的方法示例
2018/09/03 Javascript
微信小程序解除10个请求并发限制
2018/12/18 Javascript
vue微信分享的实现(在当前页面分享其他页面)
2019/04/16 Javascript
JQuery基于FormData异步提交数据文件
2020/09/01 jQuery
Python二维码生成库qrcode安装和使用示例
2014/12/16 Python
python自带的http模块详解
2016/11/06 Python
Python登录注册验证功能实现
2018/06/18 Python
Canvas多边形绘制的实现方法
2019/08/05 HTML / CSS
Champion官网:美国冠军运动服装
2017/01/25 全球购物
美国眼镜在线零售商:Dualens
2019/12/07 全球购物
如果NULL定义成#define NULL((char *)0)难道不就可以向函数传入不加转换的NULL了吗
2012/02/15 面试题
学生拾金不昧表扬信
2014/01/21 职场文书
骨干教师考核方案
2014/05/09 职场文书
产品包装策划方案
2014/05/18 职场文书
身边的榜样活动方案
2014/08/20 职场文书
小学二年级语文教学反思
2016/03/03 职场文书
python中pandas.read_csv()函数的深入讲解
2021/03/29 Python
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
2022/04/07 Servers
MySQL 表锁定 LOCK和UNLOCK TABLES的 SQL语法
2022/04/18 MySQL