虚拟化容器,大数据,DBA,中间件,监控。

宝塔面板使用nginx实现负载均衡与TCP端口代理。

21 11月
作者:admin|分类:系统运维

宝塔面板使用nginx实现负载均衡。

使用以下配置文件内容,就可以不用购买宝塔面板中的商业软件了。

环境:

1,域名: www.9999.com

2,,前端nginx作https负载均衡。

3,后台两个realserver网站配置http。


/www/server/panel/vhost/nginx 目录下创建两个相关文件。

第一个配置文件,upstream_9999.conf

[centos7]#cat upstream_9999.conf


upstream 999 {
ip_hash;
server 172.16.32.15:80 max_fails=2 fail_timeout=10s weight=1;
server 172.16.32.4:80 max_fails=2 fail_timeout=10s weight=1;


#sticky name=bt_route expires=12h httponly;
}




第一个配置文件,www.999.conf :
[centos7]#cat www.999.conf


server
{
listen 80;
listen 443 ssl http2;
server_name www.999.com;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/www.999.com;

#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
#HTTP_TO_HTTPS_START
if ($server_port !~ 443){
rewrite ^(/.*)$ https://$host$1 permanent;
}
#HTTP_TO_HTTPS_END
ssl_certificate /www/server/panel/vhost/cert/www.999.com/fullchain.pem;
ssl_certificate_key /www/server/panel/vhost/cert/www.999.com/privkey.pem;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000";
error_page 497 https://$host$request_uri;


#SSL-END

#ERROR-PAGE-START 错误页配置,可以注释、删除或修改
#error_page 404 /404.html;
#error_page 502 /502.html;
#ERROR-PAGE-END

#PHP-INFO-START PHP引用配置,可以注释或修改

#引用反向代理规则,注释后配置的反向代理将无效
include /www/server/panel/vhost/nginx/proxy/www.999.com/*.conf;


include enable-php-00.conf;
#PHP-INFO-END

#REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
include /www/server/panel/vhost/rewrite/www.999.com.conf;
#REWRITE-END

#禁止访问的文件或目录
location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
{
return 404;
}

#一键申请SSL证书验证目录相关设置
location ~ \.well-known{
allow all;
}


access_log /www/wwwlogs/www.999.com.log;
error_log /www/wwwlogs/www.999.com.error.log;
}






第三个配置文件
/www/server/panel/vhost/nginx/proxy/www.999.com 目录下创建相关文件。


[centos7]#cat load_balance.conf



#PROXY-START


location / {
proxy_pass http://999;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
}


set $site_name www.999.com;
include /www/server/panel/vhost/nginx/load_total.lua;
#PROXY-END





宝塔面板使用nginx实现TCP端口的负载均衡。

这里以,前端nginx 监听443端口,后台realserver,配置https网站为例。

当然也可以是其它端口。

/www/server/panel/vhost/nginx/tcp 目录下创建相关配置文件文件。


upstream tcp_443 {
server 172.16.32.15:443 weight=1 max_fails=2 fail_timeout=10;
server 172.16.32.4:443 weight=1 max_fails=2 fail_timeout=10;
}
server {
listen 0.0.0.0:443;
proxy_connect_timeout 8s;
proxy_timeout 86400s;
proxy_pass tcp_443;
access_log /www/wwwlogs/load_balancing/tcp/443.log tcp_format;

}

浏览472 评论0
返回
目录
返回
首页
K8S部署ES集群 - 运维笔记 ELK实时日志分析平台环境部署--完整记录