我的 discourse 论坛 github 登录因在 app.yml 中设置 ENV 代理而中断

大家好

为了运行 ./launcher rebuild app,我使用了一个代理来帮助我顺利地从 Github 拉取代码。

env:
  LANG: en_US.UTF-8
  DISCOURSE_DEFAULT_LOCALE: zh_CN
  HTTP_PROXY: http://10.27.xxx.xxx:7890
  HTTPS_PROXY: http://10.27.xxx..xx:7890

但是当我运行我的站点时,Github 登录功能失败了。我必须启动我的本地代理来修复它。

如何才能移除我运行站点的 http_proxy 和 https_proxy?

是否有类似下面的命令可以遵循来解决这个问题?

./launcher enter app
//移除 env
./launcher start app

任何帮助都将不胜感激。

谢谢。

1 个赞

也许你可以先 bootstrap,然后编辑 app.yml,接着 start

另外还有一个命令行选项 --docker-args。在 bootstrap 时也许可以传递一些参数。

1 个赞

我能运行 ./launcher start app --docker-args 吗?

1 个赞

可以。这是一个 shell 脚本,您可以查看它。文件顶部有一些文档。但我将 docker 参数传递给 launcher start 以添加内容,使其与 traefik 一起工作。

1 个赞

谢谢,Jay,但我仍然无法摆脱由以下命令引起的效果:

./launcher rebuild app --docker-args="--net=host --env https_proxy=http://127.0.0.1:7890"

我需要一些东西能在像这样重启我的应用时移除代理设置:

./launcher start app --docker-args="--net=host --removeEnv"   //removeEnv 是一个无效命令,我仅用它作说明目的

您是否尝试过在 bootstrap 和 start 之间的 yml 文件中更改 env 设置?

是的,但它不起作用,所以我试图不修改 app.yml,而是使用 --docker-args 来传递 GFW。

当我尝试使用 Github 身份验证登录时,请求会通过代理地址,这并非我所期望的。

顺便说一句:我的网站是 emacs-china.org,您可以通过 Github 身份验证重现此问题。

谢谢。

终于,我搞定了。

  1. 编辑 container/app.yml,删除 http_proxy
  2. ./launcher destroy app
  3. ./launcher start app

./launcher destroy app 在大多数情况下可以移除 docker 环境设置。

3 个赞

出于好奇:你期望的是什么?HTTP_PROXY 不就是应该做这件事吗?

1 个赞