centos7配置iptables
491 2023-04-03 04:24:07
这是一套部署特别方便的站点方案,包括使用nginx负载均衡,宝塔部署站点,云数据库加一套安全产品云WAF。
负载均衡,WEB,数据库都是在一个云平台上,内网都属于一个vpc二层网络。
云WAf可以独立于云平台,在基本框架部署完毕后,修改CNAME记录,完成调试。在项目上线前,千万不能暴露了原有的解析地址,否则直接可以绕过WAF,直接攻击站点IP地址。
云数据库在相同的vpc网络,ip地址是192.168.1.4,宝塔自带mysql数据库,由于是性能问题,使用独立出来的云数据库,只要提供云数据库的ip地址和账号密码,即可完成数据库部署。
站点部署在两台宝塔上,宝塔之间使用付费购买的同步文件,保证两个站点之间文件是相同的。如果需要部署证书,可使用宝塔免费证书。
文件同步,只能同步文件夹的数据,证书,站点名字,都需要单独设置一样的。
本次的负载均衡采用nginx负载,当外网访问过来时,按照一定的规则,内网IP传输到两台web主机,实现负载功能。
云WAF主要用来做安全防护,配置灵活,部署方便,只需要设置站点域名,WAF的分配给域名做cname解析,即可实现防护的功能
证书部署,首先部署在宝塔的站点,解析先做在宝塔的公网ip,看下是否正确;nginx负载也需要部署证书,解析改到负载的公网ip,检查;部署云WAG,需要部署域名证书,不需要改解析了,只要做cname即可。
/etc/nginx/conf.d/websites.conf
http { gzip on; gzip_min_length 5k; gzip_buffers 16 64K; gzip_comp_level 6; client_max_body_size 25m; upstream kkk123 { ip_hash; server 192.168.1.2:80 weight=5 max_fails=3 fail_timeout=30s; server 192.168.1.2:80 weight=5 max_fails=3 fail_timeout=30s; } include /etc/nginx/conf.d/websites.conf; # Load configuration files for the default server block.# include /etc/nginx/default.d/*.conf;}
/etc/nginx/conf.d/websites.conf
server { listen 80; listen 443 ssl ; #listen [::]:80; server_name www.123.com; ssl_certificate "/etc/nginx/cert/www_123_com.pem"; ssl_certificate_key "/etc/nginx/cert/www_123_com.key"; ssl_session_timeout 10m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; #=========301-START===========# # if ($host ~ '^shop.httx3.top'){ # return 301 https://www.123.com$request_uri; # } if ( $scheme = http ){ return 301 https://$server_name$request_uri; } # #=========301-STOP===========# # #error_page 404 /404.html; location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_redirect off; proxy_pass http://kkk123; } }
上传证书key和pem时,需要修改密钥开头的值,否则会报错。
key文件BEGIN KEY改成BEGIN PRIVATE KEYEND KEY改成END PRIVATE KEYpem文件BEGIN CERTIFICATE改成BEGIN TRUSTED CERTIFICATEEND CERTIFICATE改成END TRUSTED CERTIFICATE
检查配置nginx -t
重启服务nginx -s reload
云WAF也需要添加证书,在使用原始的key文件和pem文件;不使用修改过的nginx的key和pem文件。
在WAF上面设置需要保护的域名,会生成一个cname记录,需要把这个cname记录添加到域名解析。
域名解析使用负载均衡的公网IP地址。
直接ping站点的域名,返回的域名信息和ip地址,均已经变成WAF的信息,真实的负载均衡公网IP地址没有显示。
有一定的安全防护,部署经费低,使用云资源,开通时间短,部署方便。