mindoc-org / mindoc

Golang实现的基于beego框架的接口在线文档管理系统

Home Page:https://mindoc.com.cn/docs/mindochelp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

docker版在套了CDN之后无法登录,页面跳转也不行

simplove opened this issue · comments

  1. 你当前使用的是哪个版本的 MinDoc(godoc_linux_amd64 version)?
    docker 2.1

  2. 你当前使用的是什么操作系统?
    win11 win2012都不行

  3. 你是如何操作的?
    http的可以登录,https不能登录,提示 系统错误

    内页也无法跳转

    cdn使用的是百度云加速和奇安信的都试过,一样的问题。

环境是宝塔

不套CDN就没事,CDN设置了只缓存基本的静态文件,js,css,图片等

域名套CDN之后,HTTPS访问会有一些问题,具体表现为

1,https无法登录会报“系统错误” ,但是http登录则没有任何问题

2,内部页面无法跳转,会报“加载失败”,原因是引用了http链接

解决思路是再绑定一个域名专门套CDN来加速静态文件。

主域名doc.xxxx.vip 用A记录

cdn域名用static.xxxx.vip套CDN

具体操作如下:以宝塔为例

修改配置文件,找到app.conf,自己搜索。

###############配置CDN加速##################
cdn="${MINDOC_CDN_URL}"
cdnjs="${MINDOC_CDN_JS_URL}"
cdncss="${MINDOC_CDN_CSS_URL}"
cdnimg="${MINDOC_CDN_IMG_URL}"

把上面的url改成套CDN的那个域名。

cdn="https://static.xxxx.vip"
cdnjs="https://static.xxxx.vip"
cdncss="https://static.xxxx.vip"
cdnimg="https://static.xxxx.vip"

套CDN后mindoc图标会出现问题,原因是域名跨域导致字体不能正常显示。

解决方式,在宝塔的网站配置文件中添加
add_header Access-Control-Allow-Origin *;

等CDN生效以后测试下,打开主域名

这样我们再访问主域名doc.xxxx.vip就正常了。既能登录,静态文件访问又快。

套CDN之后又发现一个新问题:
当图片中有大写字母时会自动转换成小写的,导致图片访问出现404错误


如图所示,应该是哪里的转换有问题,忽略了大小写

未复现此问题,提供一下当前使用的Mindoc版本信息,以及更完整的复现过程。

以及更完整的复现过程。

docker v2.1版本
原域名 doc.xxxx.vip A记录。
CDN域名 static.xxx.vip
有修改配置文件如下:
cdn="https://static.xxxx.vip/"
cdnjs="https://static.xxxx.vip/"
cdncss="https://static.xxxx.vip/"
cdnimg="https://static.xxxx.vip/"
当访问doc.xxx.vip/xxxx 页面时,如果附件图片名为 ABC.png
F12看图片的绝对路径时发现图片的URL地址是 https://static.xxxx.vip/xxxx/abc.png
导致无法访问。

本地测试并不能复现上述问题,可以尝试:

  1. 在Markdown文档中输入包含cdn域名的图片完整URL地址,例如https://static.xxx.vip/uploads/abc.png
  2. 更换cdn服务。

1,换成完整URL地址没问题
2,看了下代码,和CDN没关系。换了另外一家CDN也是如此。

好了,不纠结这个问题了。
我是因为从其它文档迁移至mindoc才这样弄的,如果是直接上传图片则会自动重命名,且只有大写字母,也就不存在这个问题。