PGYER / codefever

CodeFever 是完全免费开源的 Git 代码托管服务,支持一行命令安装到自己服务器!CodeFever Community Edition (A Self-hosted Git Services)!
https://codefever.cn
MIT License
2.69k stars 281 forks source link

请问是否支持部署在子路径下? #102

Closed loheagn closed 2 years ago

loheagn commented 2 years ago

如题。

从文档可以看出,当前codefever支持部署到 https://example.com 路径下。但我们现在只要求对外暴露一个域名,多个不同的服务需要使用子路径划分。例如,我们希望能够通过 https://example.com/codefever 的这种方式访问到codefever。请问现在codefever支持这种配置吗?如果目前不支持的话,有没有什么修改方法呢?

cubicwork commented 2 years ago

@loheagn 首先你需要确定你的安轧辊方式,调整 nginx 的服务目录即可调整服务路径。 具体配置文件的默认路径为 /usr/local/nginx/conf/nginx.conf。 或者在你的根目录服务中直接使用 nginx 做 proxy_pass 代理到 codefever 服务上也可。

loheagn commented 2 years ago

Hi, @cubicwork 感谢回复!我尝试在是Nginx服务器中的根目录服务中的codefever前缀的的请求转发到codefever对应的部分,但发现有两个问题:

  1. 请求首页时,会重定向到 /usr/login,而我们期望的是重定向到 /codefever/usr/login
  2. 静态资源等的地址还是从根目录出发请求的,如 /static/example.js,而期望的是 /codefever/static/example.js
loheagn commented 2 years ago

还有个问题是,这样部署的话,相当于codefever会与其他服务共用域名,这样会导致设置的 cookie 冲突吗

cubicwork commented 2 years ago

@loheagn 首先 cookie 这块你不用担心,不冲突的,因为 cookie 的 key 不一样。 我们这块给出的推荐方式就是使用 proxy pass 来做反向代理。 关于 /user/login 和 静态目录这块需要单独写 location 来处理。 如果这些路径和你的 app 冲突的话,你可以尝试修改项目中的代码。fork 一份代码以后做一些修改。如果你有 PHP 和 ReactJS 的开发基础,我们推荐你修改代码。如果修改代码遇到了问题,你可以尝试将你的联系方式(微信号)发送至 carneywu@pgyer.com 并在主题标记行 github 的 issue number 即可。

loheagn commented 2 years ago

感谢!我先自己尝试修改一下。