当前位置:首页 > 技术文章 > 正文内容

Nginx反向代理:通过外网访问内网数据库(mysql)

arlanguage5个月前 (12-09)技术文章45

Nginx反向代理:通过外网访问内网数据库

  • 前言
  • 项目场景:
  • 问题描述及分析:
  • 解决方案:
    • 1 在部署nginx里配置端口IP
    • 2 在外网nginx配置反向代理参数
    • 3 重启nginx

前言

部署nginx是基础,具体安装过程请参照这
NGINX链接:link

项目场景:

提示:这里简述项目相关背景:
例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大)

问题描述及分析:

当不知道到内网后不可能直接通过内网访问数据库,而是反向代理给外网80端口映射出去,

解决方案:

分为两步,
1 在部署NGINX里配置端口IP
2 在外网nginx配置反向代理参数

1 在部署nginx里配置端口IP

  1. 找到cd 到文件位置
# 1 cd 到当前文件夹
cd /opt/newgopingtai/nginx 
# 2 编辑文件

	server
    {
        listen 1224;
        server_name 10.*.**.*;
        index index.html;
        root  /www/wwwroot/StarlightSchool/web/dist;  #dist上传的路径
       # 避免访问出现 404 错误
        location / {
          try_files $uri $uri/ @router;
          index  index.html;
        }
        location @router {
          rewrite ^.*$ /index.html last;
        }
	
    }
    # 注意这里主要是前端部署IP信息

2 在外网nginx配置反向代理参数

  1. 首先找到外网IP80端口
  2. 清楚自己匹配规则
    #优先级由高到低
    #location = /xxxx 精确匹配
    #location ^~ /cxxkjk 前缀匹配
    #location ~ pattern 分大小写的正则匹配
    #location ~* pattern 不分大小写的正则匹配
    #location /cxcxcx 前缀匹配(比带 ^~ 的前缀匹配优先级低)
    #location / 通用匹配
  3. 匹配内容


4. 保存conf文件

http {
 
	
	server{
		listen 80;
		root html;
		include mime.types;
        default_type application/octet-stream;	
				
		client_max_body_size    4000m;
		proxy_read_timeout 1200s;
        proxy_send_timeout 1200s;
		
		proxy_set_header Origin 127.0.0.1;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header Host $http_host;
		proxy_set_header X-NginX-Proxy true;
		
		
		
	
		#优先级由高到低
		#location = /xxxx    精确匹配
		#location ^~ /cxxkjk   前缀匹配
		#location ~ pattern  分大小写的正则匹配
		#location ~* pattern  不分大小写的正则匹配
		#location /cxcxcx    前缀匹配(比带 ^~ 的前缀匹配优先级低)
		#location /    通用匹配
	

		# 最优先的
		
		
		location ^~ /starlightleading/js {
			#root /www/wwwroot/StarlightSchool/web/dist/js;
			proxy_pass http://10.*.**.*:1224/js;
		}

		location ^~ /starlightleading/css {
			#root /www/wwwroot/StarlightSchool/web/dist/css;
			proxy_pass http://10.*.**.*:1224/css;
		}
		
		location ^~ /starlightleading/font {
			#root /www/wwwroot/StarlightSchool/web/dist/css;
			proxy_pass http://10.*.**.*1224/font;
		}
		
		# 星光学校前端转接URL
		location ^~ /starlightafter/ {
			proxy_pass http://10.*.**.*:1224/;
		}
		# 星光学校后端转接URL
		location  ^~ /starlightleading/ {
			proxy_pass http://10.*.**.*:1223/;
		}
		
	}

}

3 重启nginx

1 cd 配置文件目录
cd /opt/newgopingtai/nginx
2 重启nginx
docker-compose restart ng

访问外网IP

http://109..**.:107/starlightafter/
完美收工
觉得有帮助记得留下你的小星星

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/30.html

分享给朋友:

“Nginx反向代理:通过外网访问内网数据库(mysql)” 的相关文章

Nginx动静分离简单实现示例讲解

简述本文主要介绍如何实现Nginx动静分离。动静分离动静分离是根据一定规则把静态文件(html、css、js、jpg等)和动态文件(jsp,.do等)区分开来,采用静态文件和动态文件分开部署,以提高用户访问静态文件的速度,降低对后台应用的访问,提高服务器响应速度和性能。静态文件由Nginx服务器处理...

高性能Linux服务器构建实战:运维监控、性能调优与集群应用

百万级字迹详解实战案例,篇幅因素故只展现pdf目录,完整解析获取方式在篇尾了!目录读者对象Web应用篇(1至第3章)数据备份恢复篇(4至第6章)网络存储应用篇(7和第8章)运维监控与性能优化篇(9和第10章)集群高级应用篇(11至第14章)勘误和支持第1篇 Web应用篇1 、轻量级HTTP服务器Ng...

Nginx 转发时的一个坑,运维居然让我背锅

最近遇到一个 Nginx 转发的坑,一个请求转发到 Tomcat 时发现有几个 http header 始终获取不到,导致线上出现 bug,运维说不是他的问题,这个锅我背了。新增的几个 header 是这样的:accept_signaccept_token…反复检查代码,确定这些 header 是传...

线上环境如何无感升级Nginx版本? nginx在线升级

由于一直有第三方在扫描网站,并且扫描到了大量的NGINX漏洞,并且在Nginx官网也提供了各种补丁,各种升级版本,由于打补丁的方式太过于麻烦了,所以很多人选择了直接升级到指定的版本来修复漏洞。但是线上环境一定要做到无感升级,不影响正常运行的业务,下面我们就来看看,在线上环境如何实现Nginx的无感升...

Nginx主线版1.14.0发布 Bug修复版本(附下载地址)

[闽南网]- Nginx 主线版 1.14.0 发布了,Nginx(发音同 engine x)是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个 BSD-like 协议下发行,可以在 UNIX、GNU/Linux、BSD、Mac OS X、Solari...

「自动化运维」从0到1 CICD自动化部署落地分享

?目录一、CICD简介二、CICD实践过程三、含泪踩坑四、历史文章指路一、CICD简介1、CICD定义Continuous Integration (CI) 持续集成Continuous Delivery (CD) 持续交付Continuous Deployment (CD) 持续部署2、DevOp...