1. Scene
Mysql database in the pure Intranet environment, no public IP, no VPN.
2. Programme
Install nginx on a server with public IP and in the same Intranet environment with MySQL service to realize the routing and forwarding of MySQL access.
3. Nginx installation
Nginx version needs 1.9 or above. Nginx not only implements HTTP reverse proxy, but also supports TCP reverse proxy.
1) When compiling nginx, you need to add the parameter — with stream to load NGX_ stream_ core_ Module
Examples
./configure –prefix=/opt/software/nginx –with-http_ stub_ status_ module –with-http_ ssl_ module –with-stream –with-stream_ ssl_ module –with-pcre=/usr/local/src/pcre-8.35
4. Nginx configuration file nginx.conf
Monitor port 3307 with public IP server, and jump to port 3306 of 172.31.88.27.
Special note: stream should be in the same level directory as HTTP
stream {
upstream mysql3306 {
hash $remote_addr consistent;
server 172.31.88.27:3306 weight=5 max_fails=3 fail_timeout=30s;
}
server {
listen 3307;
proxy_connect_timeout 10s;
proxy_timeout 200s;
proxy_pass mysql3306;
}
}