通过SSH本地端口转发正常访问时指定gitea服务器Gitea Base URL?

Posted

技术标签:

【中文标题】通过SSH本地端口转发正常访问时指定gitea服务器Gitea Base URL?【英文标题】:Specifying gitea server Gitea Base URL when it is normally accessed via SSH Local Port Forwarding? 【发布时间】:2020-08-22 03:21:40 【问题描述】:

在我的 gitea 服务器上,我通常通过 ssh 本地端口转发访问它;并且无法从外部访问,因为我将其绑定到 localhost 地址。

我通过“本地端口转发”从http://127.0.0.1:8080 访问它,它认为它是从http://127.0.0.1:3000 访问的;所以某些功能(例如 wiki 中的预览和问题不起作用(但是您可以保存它们,只是不能预览它们);无论如何它配置错误,见下文,我想更改 Gitea Base URL 所以只要服务器当前写入http://127.0.0.1:3000,它就会改为写入http://127.0.0.1:8080(但也就是说,如果它仍然在端口3000 之外运行会很好):

gitea.ini 中的哪一行更改了此功能?还是更像是我需要在它前面抛出一个反向代理来为我重写 URL 的情况?

【问题讨论】:

【参考方案1】:

我并没有为端口号而苦恼,而是打算更改域(localhost 为 foo)并找到config cheat sheet 中提到的ROOT_URL

ROOT_URL: %(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/: 覆盖 自动生成的公共 URL。如果内部和 外部 URL 不匹配(例如在 Docker 中)。

还有一个 HTTP_PORT 选项也适用于您。

查看您的 /path/to/gitea/conf/app.ini -> [server] 部分并进行相应更改

[server]
  APP_DATA_PATH    = /path/to/gitea
  DOMAIN           = localhost
  SSH_DOMAIN       = localhost
  HTTP_PORT        = 3000
  ROOT_URL         = http://localhost:3000/

我想更改 Gitea Base URL,以便随时在服务器 当前写http://127.0.0.1:3000它将写 http://127.0.0.1:8080 代替(但就是说,如果它会很好 仍然在 3000 端口运行):

我假设将 ROOT_URL 设置为 http://127.0.0.1:8080 但将 HTTP_PORT 保留为默认 3000 应该这样做。

【讨论】:

以上是关于通过SSH本地端口转发正常访问时指定gitea服务器Gitea Base URL?的主要内容,如果未能解决你的问题,请参考以下文章

Сannot 通过 SSH 访问本地 gitlab 服务器

ssh隧道 学习总结

ssh本地端口转发

SSH高级功能 - 远程端口转发

[原创]SSH 隧道转发

SSH -R 远程端口转发