当前位置: 首页 > wzjs >正文

泉州做网站优化公司饮食网站首页页面

泉州做网站优化公司,饮食网站首页页面,成都网站建设搭建,阿里网站怎么做zdir3是用golang编写的个人网盘,但是最新的zdir4改成收费并且不再开源。 个人感觉zdir3已经够用,但是有几个问题,纯https访问时,列表链接还是返回的https,所以需要自己重新打包成docker,但是源码的dockerfile已经无法…

zdir3是用golang编写的个人网盘,但是最新的zdir4改成收费并且不再开源。

个人感觉zdir3已经够用,但是有几个问题,纯https访问时,列表链接还是返回的https,所以需要自己重新打包成docker,但是源码的dockerfile已经无法打包。

zdir3项目地址:GitHub - helloxz/zdir: A multifunctional private storage program that integrates file indexing, online preview, and sharing, supporting both WebDAV and cloud download.

下载源码后在代码根目录新建Dockerfile,内容如下

# 第一阶段:构建应用
FROM golang:alpine AS builderWORKDIR /app# 设置环境变量
ENV GO111MODULE=on
ENV CGO_ENABLED=0
#ENV GIN_MODE=release# 拷贝 go.mod 和 go.sum 到工作目录
COPY go.mod  ./
COPY go.sum  ./# 下载依赖
RUN go mod download# 拷贝源代码到工作目录
COPY cli ./cli
COPY config ./config
COPY controller ./controller
COPY docker  ./docker
COPY model ./model
COPY router  ./router
COPY sh ./sh
COPY sql ./sql
COPY templates  ./templates
COPY compile.sh ./
COPY config.simple.ini ./
COPY main.go ./
COPY run.xml ./
COPY README.md ./
COPY ./docker/run.sh ./# 安装 upx
RUN apk add --no-cache upx# 构建应用并压缩
RUN go build -ldflags "-s -w" -o zdir main.go# 第二阶段:创建最小化运行时镜像
FROM alpine:3.16# 设置环境变量
ENV GIN_MODE=release# 安装时区
RUN apk add --no-cache tzdataWORKDIR /data/apps/zdir# 从构建阶段复制可执行文件和资源文件夹
COPY --from=builder /app/zdir .
COPY --from=builder /app/README.md .
COPY --from=builder /app/sh ./sh
COPY --from=builder /app/templates ./templates
COPY --from=builder /app/sql ./sql
COPY --from=builder /app/run.sh ./RUN cp run.sh /usr/sbin/run.sh && chmod +x /usr/sbin/run.shEXPOSE 6080
CMD ["/usr/sbin/run.sh"]

使用下面的命令打包

docker build -t my-zdir3 .

这个代码打包后跟作者提供的3.2.0的docker不一样,控制台没有输出日志.

找到代码router/router.go,删除或者注释掉下面的内容

f, _ := os.Create("logs/zdir.log")gin.DefaultWriter = io.MultiWriter(f)//日志同时输出到控制台gin.DefaultWriter = io.MultiWriter(f, os.Stdout)

这样打包就能输出控制台日志了。

我们还需要兼容https

找到代码config/ini_config.go的Public_domain函数,替换为下面的内容

func Public_domain(c *gin.Context) string {// 获取请求hosthost := c.Request.Host// 从请求中获取当前协议(http 或 https)scheme := "http"if c.Request.URL.Scheme == "https" || c.GetHeader("X-Forwarded-Proto") == "https" {scheme = "https"}// 载入配置文件,通过cfg调用domain := viper.GetString("storages.public_domain")// 如果公共存储域名为空,则构造默认值if domain == "" {domain = scheme + "://" + host + "/public"}return domain
}

若有nginx,则检查nginx配置是否设置了 proxy_set_header X-Forwarded-Proto $scheme;没有则忽略此步骤

一个典型的nginx配置如下

server {#listen       80;#listen  [::]:80;listen  443 ssl;server_name  zdir.example.com;client_max_body_size 500M;ssl_certificate   /etc/letsencrypt/cert/example.com/fullchain.pem;ssl_certificate_key  /etc/letsencrypt/cert/example.com/privkey.pem;location =/robots.txt {default_type text/html;add_header Content-Type "text/plain; charset=UTF-8";return 200 "User-Agent: *\nDisallow: /";}location / {if ($block_ip) {return 403;  # 返回 403 Forbidden}proxy_pass http://zdir:80;proxy_set_header Host $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-Proto $scheme;}
}

http://www.dtcms.com/wzjs/823337.html

相关文章:

  • 仿贴吧的网站工业和信息化部发短信
  • 什么是行业网站?简单的j网站建设方案书
  • 建设论坛网站要备案兰州网站seo诊断
  • 网站对于企业的京东网上商城购买
  • php网站开发参考书籍sem优化是什么
  • 建立自己的网站用花钱吗google推广工具
  • 网站开发工程师 面试英语网站模板 源码之家
  • 适合机械网站的wordpress主题模板两学一做 网站源码
  • 网站建设阿里云wordpress 下载 主题
  • 网站建设 淘宝描述psd网站建设太金手指六六十一
  • 如何建免费的企业网站e福州是哪个公司开发
  • 帝国cms7.0网站地图网站建设策划书缺点
  • 平台网站建设教程视频家庭厨房做外卖网站
  • 免费网站打包appwordpress文章迁移
  • 校园网站建设网信阳建设企业网站公司
  • O2O网站制作需要多少钱域名及网站建设实验报告
  • 网站搭建价格修车店怎么做网站
  • 晋城网站建设网站油漆涂料网站建设
  • 手机在线做ppt的网站有哪些问题衡水网站建设设计
  • 建设学校网站的作用网站背景尺寸
  • 建设网站学什么语言wordpress文章调用插件
  • 换域名影响网站不网站建设结构设计方案
  • 网站免费正能量小说做化工回收上什么网站
  • 网站转化微信小程序wordpress删除字段
  • 创建一个网站所需的成本网页设计怎样设置图片大小
  • 徐州网站开发案例北京小企业网站建设
  • 用友财务软件官方网站网络营销策划书封面
  • 企业网站买卖建设流程仪征市企业网站建设公司
  • 医院网站加快建设头条网站模版
  • apache添加网站蓬业东莞网站建设技术支持