# 独角Dujiao-Next 拥抱现代化开源数字商品销售系统 ![独角Dujiao-Next](https://file.lifebus.top/imgs/dujiaonext_cover.png) ![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) ## 简介 ### 完整业务闭环 覆盖商品、订单、支付、交付、用户中心、后台管理等核心流程。 ### 多支付接入 支持支付宝、微信、PayPal、Stripe 等渠道,统一支付抽象与回调处理。 ### 可扩展可维护 API/User/Admin 三端分层清晰,便于二开与替换前台模板。 ## 安装 > 请注意 `管理员用户名` 为 `admin`,请勿修改。否则将无法登录后台管理。 JWT 推荐使用 `openssl` 生成密钥: ```bash openssl rand -hex 32 ``` ## 反向代理 ### 多域名部署 ```nginx # 前台 User server { listen 80; server_name user.example.com; location / { proxy_pass http://127.0.0.1:8081; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location /api/ { proxy_pass http://127.0.0.1:8080/api/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location /uploads/ { proxy_pass http://127.0.0.1:8080/uploads/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } # 后台 Admin server { listen 80; server_name admin.example.com; location / { proxy_pass http://127.0.0.1:8082; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location /api/ { proxy_pass http://127.0.0.1:8080/api/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location /uploads/ { proxy_pass http://127.0.0.1:8080/uploads/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } ``` ### 单域名部署 不推荐 > 由于前台 User 与 Admin 分别部署在不同端口,因此需要配置反向代理。 > > 但是后台 /admin 属于 `/admin/` 路径,需要特殊处理。(否则无法正常访问资源,导致无法登录) ```nginx server { listen 80; server_name shop.example.com; # 前台 User location / { proxy_pass http://127.0.0.1:8081; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } # 后台 Admin location = /admin { return 301 /admin/; } location /admin/ { proxy_pass http://127.0.0.1:8082/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location /api/ { proxy_pass http://127.0.0.1:8080/api/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location /uploads/ { proxy_pass http://127.0.0.1:8080/uploads/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } ``` #### 补充规则 ```nginx location /assets/ { if ($http_referer ~* "/admin/") { proxy_pass http://127.0.0.1:57143; break; } proxy_pass http://127.0.0.1:57142; } ``` --- ![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) ![Ms Studio](https://analytics.lifebus.top/p/wJix5nI1W)