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搭建rtmp直播服务器实现代码
Mar 31 Servers
Nginx URL重写rewrite机制原理及使用实例
Apr 01 Servers
Nginx反向代理学习实例教程
Oct 24 Servers
Apache Pulsar集群搭建部署详细过程
Feb 12 Servers
nginx负载功能+nfs服务器功能解析
Feb 28 Servers
Tomcat用户管理的优化配置详解
Mar 31 Servers
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
Apr 02 Servers
使用Nginx+Tomcat实现负载均衡的全过程
May 30 Servers
Windows server 2012 NTP时间同步的实现
Jun 25 Servers
TaiShan 200服务器安装Ubuntu 18.04的图文教程
Jun 28 Servers
Windows Server 2012 R2服务器安装与配置的完整步骤
Jul 15 Servers
Centos7 Shell编程之正则表达式、文本处理工具详解
Aug 05 Servers
zabbix自定义监控nginx状态实现过程
总结高并发下Nginx性能如何优化
Rhit高效可视化Nginx日志查看工具
Nginx+Tomcat负载均衡集群的实现示例
Nginx反向代理学习实例教程
使用Nginx搭载rtmp直播服务器的方法
Oct 16 #Servers
详解Nginx 被动检查服务器的存活状态
Oct 16 #Servers
You might like
php强制用户转向www域名的方法
2015/06/19 PHP
使用PHP uniqid函数生成唯一ID
2015/11/18 PHP
深入解析PHP的Yii框架中的event事件机制
2016/03/17 PHP
Nigma vs Liquid BO3 第二场2.14
2021/03/10 DOTA
IE 缓存策略的BUG的解决方法
2007/07/21 Javascript
javascript下4个跨浏览器必备的函数
2010/03/07 Javascript
js静态方法与实例方法分析
2011/07/04 Javascript
jquery showModelDialog的使用方法示例详解
2013/11/19 Javascript
jquery实现图片翻页效果
2013/12/23 Javascript
javascript如何判断输入的url是否正确
2014/04/11 Javascript
JS实现点击按钮自动增加一个单元格的方法
2015/03/09 Javascript
完美兼容多浏览器的js判断图片路径代码汇总
2015/04/17 Javascript
JavaScript实现字符串与日期的互相转换及日期的格式化
2016/03/07 Javascript
JavaScript实现随机数生成器(去重)
2017/10/13 Javascript
JS实现根据数组对象的某一属性排序操作示例
2019/01/14 Javascript
layui多图上传实现删除功能的例子
2019/09/23 Javascript
详解Django框架中的视图级缓存
2015/07/23 Python
攻击者是如何将PHP Phar包伪装成图像以绕过文件类型检测的(推荐)
2018/10/11 Python
解析python的局部变量和全局变量
2019/08/15 Python
基于python进行抽样分布描述及实践详解
2019/09/02 Python
Python socket模块方法实现详解
2019/11/05 Python
Python实现随机取一个矩阵数组的某几行
2019/11/26 Python
浅谈keras 模型用于预测时的注意事项
2020/06/27 Python
巴西最大的家电和百货零售商:Casas Bahia
2016/11/22 全球购物
如何实现一个自定义类的序列化
2012/05/22 面试题
毕业自荐信
2013/12/16 职场文书
运动会800米加油稿
2014/02/22 职场文书
2014年团支部工作总结
2014/11/17 职场文书
平遥古城导游词
2015/02/03 职场文书
2016年会开场白台词
2015/06/01 职场文书
母亲节感言
2015/08/03 职场文书
组织委员竞选稿
2015/11/21 职场文书
开发一个封装iframe的vue组件
2021/03/29 Vue.js
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python
教你怎么用Python selenium操作浏览器对象的基础API
2021/06/23 Python
MySQL 那些常见的错误设计规范,你都知道吗
2021/07/16 MySQL