cloudreve兼容acme.sh脚本

个人网站上搭建了有Blog、Git等服务,均是通过nginx反代,以子目录形式提供服务。因此这些服务是可以共用一个https证书的。

而cloudreve就麻烦了,目前没有找到以子目录形式提供服务的办法,只能先以子域名的方式搭建。

证书的申请也得添加一个子域名证书,好在acme.sh申请Let's Encrypt时,支持多域名证书。

申请了Let's Encrypt后,关键是后续要定时更新,而cloudreve服务也不能停,因此只能在nginx的配置上想办法了。

如下是cloudreve在nginx的反代配置,应该支持同时运行cloudreve服务、证书在后台自动续期。

server {
    listen 80;
    listen [::]:80;
    server_name cloudreve.XXX.cn;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl      http2;
    listen [::]:443 ssl http2;
    server_name cloudreve.XXX.cn;

    include /YYY/etc/nginx/sites-conf/https.conf;
    include /YYY/etc/nginx/sites-conf/common.conf;
	
	# 支持Let's Encrypt申请证书 
    location ^~ /.well-known {
	    # 使用与主网站一样的路径
		root  /YYY/web;
        location /.well-known/acme-challenge    { try_files $uri $uri/ =404; }
        location /.well-known/pki-validation    { try_files $uri $uri/ =404; }
        return 404;
    }

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_pass http://127.0.0.1:5212;

        # 如果您要使用本地存储策略,请将下一行注释符删除,并更改大小为理论最大文件尺寸
        # client_max_body_size 20000m;
    }
}

 

posted @ 2022-01-12 10:33  日月王  阅读(126)  评论(0编辑  收藏  举报