大家好,又见面了,我是你们的朋友全栈君。
使用场景如下: 当数据库在服务器A 并且处于外网无法直接访问时,此时同局域网下只有服务器B提供对外访问,客户能访问b 却无法访问A 的情况下,由于两台服务器处于同局域网,并且服务器A 有端口是开放的,可以在服务器B 内进行nginx 反向代理
首先在服务器b内,安装nginx(docker 化的也可以) 如果是docker 的nginx 需要进入 docker 内的nginx
docker exec -it 容器id bash
一般nginx的配置文件在etc/nginx 下 使用vim 进行编辑 如果是新的容器一般是没有安装工具的
apt-get update
apt-get install vim
这边我就不贴图了 容器配置完成后记得restart 容器,如果直接在服务器上安装了nginx 并非docker 化 那么之前的步骤掠过
stream {
upstream name{
hash $remote_addr consistent;
server 服务器A地址:开放端口 weight=5 max_fails=3 fail_timeout=30s;
}
server {
listen 7932;#这里的监听端口默认是80,如果docker run 建议不要用80端口
proxy_connect_timeout 10s;
proxy_timeout 300s;
proxy_pass name;
}
}
如果是docker 记得重启,然后数据库就可以通过访问服务器b的7932端口,映射到服务器A 的数据库端口了
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/127564.html原文链接:https://javaforall.cn