Nginx反代,SSL证书安装,搭建CDN服务教程LinuxServer

savh 1243

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

推荐阅读
最新动态 (0)

    ( 登录 ) 后,可以发表评论!

    返回