一般反代软件比较多,常用的Nginx也可以拿来做反代服务器,本文为LNMP板,宝塔板请阅读《Nginx:利用Nginx反代简单实现CDN加速[BT版]》。
1、安装Nginx
这里可以手动编译,或者使用 `Oneinstack` `LNMP`等脚本一键编译,注意编译上`ngx_cache_purge`插件
LNMP:
wget http://soft.vpser.net/lnmp/lnmp1.6.tar.gz -cO lnmp1.6.tar.gz && tar zxf lnmp1.6.tar.gz && cd lnmp1.6 && ./install.sh lnmp
2、反代配置
例如对www.savh.cn搭建反代节点,数据放在1.2.3.4
需要先修改hosts文件,告知反代节点获取回源的地址:
vi /etc/hosts 1.2.3.4 www.savh.cn
然后创建nginx配置文件savh.cn.conf
#创建缓存目录 mkdir -p /data/wwwroot/caches/www.savh.cn #设置缓存目录权限 chown -R www:www /data/wwwroot/caches/www.savh.cn #创建savh.cn.conf vi /usr/local/nginx/conf/vhost/savh.cn.conf
在savh.cn.conf中添加以下内容,缓存目录、缓存时间根据实际情况调整。
proxy_cache_path /data/wwwroot/caches/www.savh.cn levels=1:2 keys_zone=Rats:50m inactive=30m max_size=50m; server { listen 80; server_name www.savh.cn; charset utf-8,gbk; location / { proxy_set_header Accept-Encoding ""; proxy_pass https://www.savh.cn; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_cache Rats; proxy_cache_valid 200 304 30m; proxy_cache_valid 301 24h; proxy_cache_valid 500 502 503 504 0s; proxy_cache_valid any 1s; proxy_cache_min_uses 1; expires 12h; } }
说明:
/data/wwwroot/caches/www.savh.cn:为缓存目录 levels:指定该缓存空间有两层hash目录,第一层目录为1个字母,第二层为2个字母。 keys_zone=Rats:50m:为缓存空间起个名字,这里取名为“Rats”,后面的50m指内存缓存空间 inactive=30m:如果30分钟内该资源没有被访问则删除 max_size=50m:指硬盘缓存大小为50MB proxy_cache_valid:指定状态码缓存时间,前面写状态码,后面写缓存时间。
重启Nginx生效:
lnmp nginx reload
3、Nginx中SSL证书配置方法
标准配置:
server { listen 443 ssl; server_name www.savh.cn; ssl_certificate ssl/savh.cn_server.crt; ssl_certificate_key ssl/savh.cn_server.key; location / { proxy_pass http://1.2.3.4:80; } }
证书可以在配置文件所在的文件夹下面新建个 ssl 文件夹,把证书信息放进去再引用。
通过 nginx -t 可以查看配置情况,通过 nginx -s reload 可以重新加载配置项。
拓展配置:
server { listen 443 ssl; server_name savh.cn; ssl_certificate /path/to/certificate.crt; ssl_certificate_key /path/to/private.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; # 可选: 配置 SSL 会话缓存以提高性能 ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; # 可选: 启用 OCSP Stapling 以提高 SSL 验证性能和安全性 ssl_stapling on; ssl_stapling_verify on; ssl_trusted_certificate /path/to/ssl_trusted_certificate.crt; # 可选: 配置 HSTS 以增强安全性 add_header Strict-Transport-Security "max-age=31536000" always; # 可选: 配置证书链文件以支持某些客户端 # ssl_chain_certificate /path/to/chain_certificate.crt; location / { # 配置其他服务器设置 } }
在上面的配置中:
listen 443 ssl; 指定该服务器块监听 443 端口,并启用 SSL 。 ssl_certificate 和 ssl_certificate_key 分别指定 SSL 证书文件和密钥文件的路径。 ssl_protocols 指定允许的 SSL 协议版本。 ssl_prefer_server_ciphers 开启后,服务器端的优先级更高,选择服务器端的加密套件。 ssl_session_cache 和 ssl_session_timeout 配置 SSL 会话缓存以提高性能。 ssl_stapling 和 ssl_stapling_verify 开启 OCSP Stapling 以提高 SSL 验证性能和安全性。 ssl_trusted_certificate 指定 OCSP Stapling 验证的证书链。 add_header Strict-Transport-Security 启用 HSTS 以增强安全性。 ssl_chain_certificate 可选,指定证书链文件以支持某些客户端。
智能解析
使用多台VPS,利用DNSPod智能解析,将不同地区的DNS解析到最近的反代节点上,进行CND加速。
http://www.savh.cn/thread-1206.htm
转载请注明:Savh.Cn 发表