nginx代理mysql

使用nginx代理mysql

背景

最近在做一个项目,和外部客户合作,其中部分服务器是客户提供,将服务部署到客户提供的服务器上。

出于成本考虑,在客户的服务器上,除了网关配置了外网ip,其他服务器都没有配置外网ip

出于安全考虑,希望将研发过程中的sql操作通过审计平台管理起来

因此,需要将客户服务器上部署的mysql服务暴露到外网,并接入审计平台

过程

1、首先配置防火墙,暴露的端口只针对审计平台开放

过程略,这里一般在云平台配置下防火墙就行,如果是自建听过firewall-cmd配置

2、通过nginx将流量抓发到内部的mysql服务

stream {
	allow 127.0.0.1;
	allow ${审计平台ip};  # 审计平台ip
	deny all;
	server {
		listen ${对外暴露的端口};  # 对外暴露的端口
		proxy_pass ${mysql部署ip}:${mysql监听端口};
	}
}

Last updated