
一般反代软件比较多,常用的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 发表



