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

はい、できます。シェルスクリプトですので、確認していただけます。ファイルの上部にいくつかのドキュメントがあります。しかし、traefikで動作するように、docker引数をlauncher startに渡して何かを追加しています。

「いいね!」 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 は有効なコマンドではありません。例としてのみ使用しています。

YAML ファイルのブートストラップと開始の間にある 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