教程直接参考【 整点猫咪·用VPS架设自己的Sub-store

点击我查看更多内容

sub-store的HTTPS访问,已经测试OK,申请两个域名证书即可。

申请证书(有证书请跳过)

参考我的教程:acme.sh申请免费证书

先不要启动Nginx,用方式1,80端口申请证书,比较简单

# sub.stans.cf 为了测试,申请太多次证书,寄了,只能用substore.domain.com了 
acme.sh --issue -d substore.domain.com--standalone --keylength ec-256
acme.sh --issue -d  subapi.domain.com --standalone --keylength ec-256
mkdir -p ~/cert #随便建个文件夹,用安装的方式使用证书
# pwd 看一下位置 我的在/root/cert  下面证书位置记得保持同步
# 整点猫咪的应该在/home/ubuntu/cert
#安装证书
acme.sh --install-cert -d substore.domain.com\
--fullchain-file /root/cert/sub.fullchain.crt  \
--key-file  /root/cert/sub.private.key  --ecc

acme.sh --install-cert -d subapi.domain.com \
--fullchain-file /root/cert/subapi.fullchain.crt  \
--key-file  /root/cert/subapi.private.key  --ecc

Nginx 配置(感觉没有啥用)

  • 后端加入反代实现一个域名访问2个服务(前后端)
server {
  server_name subapi.domain.com;  
  listen        80;
  listen [::]:80;
  return 301 https://$host$request_uri; #http自动跳转https,让网站看起来更真实。
}

server {
  server_name subapi.domain.com;
  listen 443 ssl http2;
  listen [::]:443 ssl http2;

  ssl_certificate /root/cert/subapi.fullchain.crt; #用pwd看证书的位置
  ssl_certificate_key /root/cert/subapi.private.key; #用pwd看证书的位置

  location /eWVOSn8esAtDJLgTWBIi4VKL/ {
    proxy_pass http://127.0.0.1:3000/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

server {
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  server_name substore.domain.com; 

  ssl_certificate /root/cert/su.fullchain.crt;
  ssl_certificate_key /root/cert/su.private.key;

  location / {
    try_files $uri $uri/ /index.html;
    root /var/www/html/dist;
    index index.html index.htm;
  }

}
  • 访问你的sub-store的地址是:
# 标准访问地址模板
https://substore.domain.com/?api=https://subapi.domain.com/api-token # api-token是 location后面/api/xxxxx自定义的
# 即上面示例的访问地址为:
https://substore.domain.com/?api=https://subapi.domain.com/eWVOSn8esAtDJLgTWBIi4VKL/
  • 显示如下版本

  • 示例放一条白嫖订阅

Docker 安装sub-store教程

# 创建目录
mkdir -p ~/sub-store && cd ~/sub-store

# 编写docker-compose.yml
nano docker-compose.yml

# docker-compose.yml内容
version: '3.9'
services:
  substore:
    image: saintwe/sub-store:latest
    container_name: substore
    restart: always
    ports:
      - "6080:80"
    volumes:
      - ./root.json:/Sub-Store/root.json
      - ./sub-store.json:/Sub-Store/sub-store.json
    environment:
      - TZ=Asia/Shanghai
      # 如需使用前端请取消注释
      # - DOMAIN=http://youdomain

在 docker-compose.yml 同目录中执行下面2条命令

echo "{}" > ./sub-store.json
echo "{}" > ./root.json

# tree 看一下目录结构如下
.
├── docker-compose.yml
├── root.json
└── sub-store.json
  • 启动
# 守护启动
docker-compose up -d

# 打印日志
docker-compose logs

# 更新镜像
docker-compose pull

# 停止容器
docker-compose stop

# 重启容器
docker-compose restart

# 停止并删除容器
docker-compose down
  • 你的sub-store的地址是:
# 标准访问地址模板
http://youdomain.com