Skip to main content

进阶

四层与七层的区别

简单的操作步骤

菜鸟教程对于反向代理与负载均衡的详解

博客园文章参考

负载均衡

F5负载均衡

正向代理是代理用户,反向代理是代理服务器

负载均衡 将请求分发到多个服务器上

负载

down、backup、max_fails、fail_timeout

反向代理

proxy_pass url url为http访问地址

动静分离

https://www.cnblogs.com/ovim/p/13196540.html

出现原因 为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度,降低单个服务器的压力

名词解释

所谓动静分离指的是当访问静态资源时,路由到一台静态资源服务器,当访问是非静态资源时,路由到另外一台服务器

简单配置实现

修改 serverserver 块配置参考,配置规则可自行修改,符合正则语法即可

location ~ .*\.(js|css|png|jpg|jpeg|gif)?$ {
#proxy_pass http://server_ip:port; # 本行配置是将静态资源路由到另一台服务器,与下一行配置二选一
root /wwwroot/default/static/; # 本行配置是将静态资源路由到本服务器的其他文件夹,与上一行配置二选一
}

热备

轮询

加权轮询

ip_hash

限流

令牌桶算法、漏桶算法

日志统计

统计nginx日志里访问次数最多的前十个IP

awk '{print $1}' access.log | sort | uniq -c | sort -nr -k1 | head -n 10
awk '{print $1}' access.log | sort | uniq -c | sort -n -k 1 -r | head -n 10

配置SSL

参考阿里云文档教程

前提条件

  • 购买服务器的服务商开启443端口和服务器已开启443端口(https的默认端口)
  • nginx容器已经安装http_ssl_module模块(启用SSL功能)
  • 下面的教程基于一个开源的dockerfile仓库

ssl证书上传至服务器 上传目录: ../../services/nginx/certs/

yml文件配置更改

ports:
# 增加443端口
- "443:443"
volumes:
# 增加SSL证书目录挂载
- ../../services/nginx/certs:/etc/nginx/certs:cached

nginx配置文件更改

default.conf参考

server {
listen 443;
server_name localhost;

root /wwwroot/default/;
index index.php index.html index.htm;

ssl on;
ssl_certificate certs/cert.pem;
ssl_certificate_key certs/cert.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
ssl_prefer_server_ciphers on;

…………other config
}

注意事项:

ssl_certificate certs/cert.pem; ssl_certificate_key certs/cert.key;这两项填写的证书路径必须是相对路径(相对于/etc/nginx/ 的路径)