非80口网站上传自定义头像的问题

新手任务
欢迎pr

(秦始皇二一四) #1

其实很早就知道有discourse,但以前感觉非常复杂,和gitlab很像,要配置很多东西,最近发现已采用docker很简单近乎一键操作,所以试试。

现在遇到一个问题,那就是关于路径的问题,因为原来是windows的,然后装了个vm,里面运行着gitlab的套件,我考虑使用某个单独域名去访问,比如disocurse.example.com,但是我想用一个自定义端口去访问,也就是我访问我的discourse时用的是disocurse.example.com:90的url,因此我在containers/app.yml里:
expose:
- "80:80"
改成了
expose:
- "90:80"
host是disocurse.example.com
然后./launcher rebuild app,但是启动后,访问网站通过disocurse.example.com:90是没问题的,可以访问,但是有几个问题:

  • 发送的验证邮箱里的url是disocurse.example.com,这样并不能访问,需要自己加端口。

  • 当上传图片后,图片并不能显示,引用的地址我发现是//disocurse.example.com/xxxx/xxx.jpg

于是我把app.yml里的host改成disocurse.example.com:90,rebuild后,发现上述2个问题解决,可是自定义头像却出现了问题(并且似乎部分js也有错误),自定义头像用到的地址会是类似于//disocurse.example.com:90/user/avater/disocurse.example.com:90/xxx.jpg,但是这样不行,我尝试更改url,查看这个图片//disocurse.example.com:90/user/avater/disocurse.example.com/xxx.jpg,这样就能显示出图片了。

我不知道这个问题该如何解决了,似乎只能考虑用系统默认或gvater来解决这个问题?or可能需要对代码改动?但是并不知道怎么修改代码。

如果有大神能提供下帮助就好了,but是必须考虑使用自定义端口,不能80跳90或直接走80。


(Erick Guan) #2

用非默认端口确实少见。需要改 core 的代码。


(Shuai Zend) #3

大陆默认是全部屏蔽了80端口的,在大陆不少见


(秦始皇二一四) #4

哎,懂的懂的……
@fantasticfears 额,可惜相关链接里也没有很明确的解决办法。


(Erick Guan) #5

问题在 app/models/user_avatar.rb:59 这,欢迎有兴趣的开发者提交 PR(请在 GitHub cc 我)。