上篇 nginx初识说了nginx配置http反向代理,本篇先说https的反向代理,以及利用nginx搭建文件服务器。
HTTPS反向代理
https使用了ssl通信标准,需要引入安全证书,且其端口号与http也不相同。其他基本一样。
server {
#监听 443 端口。443 为知名端口号,主要用于 HTTPS 协议
listen 443 ssl;
#定义使用 www.xx.com 访问
server_name www.helloworld.com;
#ssl 证书文件位置(常见证书文件格式为:crt/pem)
ssl_certificate cert.pem;
#ssl 证书 key 位置
ssl_certificate_key cert.key;
#ssl 配置参数(选择性配置)
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
#数字签名,此处使用 MD5
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root /root;
index index.html index.htm;
}
}
搭建文件服务器
autoindex on;# 显示目录
autoindex_exact_size on;# 显示文件大小
autoindex_localtime on;# 显示文件时间
server {
charset gbk,utf-8; # windows 服务器下设置后,依然乱码,暂时无解
listen 9050 default_server;
listen [::]:9050 default_server;
server_name _;
root /share/fs;
}
负载均衡
启用负载均衡,在upstream处配置:
#设定负载均衡的服务器列表
upstream load_balance_server {
#weigth 参数表示权值,权值越高被分配到的几率越大
server 192.168.1.11:80 weight=5;
server 192.168.1.12:80 weight=1;
server 192.168.1.13:80 weight=6;
}
负载均衡策略有很多:轮询、加权轮询、最少连接、加权最少连接、IP Hash、普通 Hash。
部署Nginx时都是使用一个master进程来管理多个worker进程。worker进程之间通过共享内存、原子操作等一些进程间通信机制来实现负载均衡等功能。