3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

プロキシ環境下でGrowiから社内のMattermostにwebhookで通知

Last updated at Posted at 2020-04-06

はじめに

どうも!生産技術部のエンジニアです。GrowiとMattermostをひとつのサーバに同居させ、社内のプロキシ環境下で、Mattermost宛てのwebhookをしようとしたところ、うまく通知が飛ばない問題がありました。解決する方法を紹介します。

環境

  • CentOS : 7.6.1810
  • Docker-CE : 19.03.1
  • Docker Compose : 1.25.0
  • Growi :以下
    systeminfo.png

※現在、Growiのバージョンは3.7.2が最新ですが、webhookの設定ができなかったため、バージョンを落としています。この問題についてはSlackにて連絡し、即座に修正いただきました。お忙しい中ありがとうございました。
fix notification setting can't update without slack token #1849

前提条件

Growiの導入が実施済みであること。プロキシ環境下で立ち上げる場合は以下を参考にしてください。

「プロキシ環境下でDocker Composeを用いてGrowiを立ち上げる」
ただし、以下の様にgrowiのバージョンを指定して導入しました。

# FROM weseek/growi:3
FROM weseek/growi:3.7.0

まず試したこと

mattermostの公式ドキュメントを参考にcurlコマンドを使って、webhookが正常に動作しているか確認しました。

1.growi,mattermost同居のサーバ⇒mattermostにcurlを実行

curl -i -X POST -H 'Content-Type: application/json' -d '{"text": "Hello, this
 is some text\nThis is more text. :tada:"}' http://<サーバIP:ポート>/hooks/xxx-generatedkey-xxx

通知できず失敗

2.社内にある別PC⇒mattermostにcurlを実行

コマンドは1と同様。通知できず失敗。どうやらプロキシを使っているからうまく届いていない様だ。

3.プロキシを使用しないように設定し、curlを実行

curl --noproxy <サーバIP> -i -X POST -H 'Content-Type: application/json' -d '{"text": "Hello, this
 is some text\nThis is more text. :tada:"}' http://<サーバIP:ポート>/hooks/xxx-generatedkey-xxx

--noproxyオプションを追加することで、growi,mattermost同居のサーバからでも、社内にある別PCからでも通知成功。あとは、growiにnoproxyを設定するだけ!

noproxyを設定し、growiからwebhookする

Dockerfileに環境変数を設定することで、解決します。

growi/Dockerfile
ENV http_proxy 'proxy.example.com:8888'
ENV https_proxy 'proxy.example.com:8888'
# 以下の行を追加
ENV no_proxy '<サーバIP>'

docker-composeでbuildし直し、動作確認すると、うまく通知が出来るようになりました。

最後に

これでwebhookも利用でき、必要な設定がある程度完了しました。これで運用が開始できます。

ただし、
社内では、growiでサポートされていないIEしか使わない人がほとんどなので、ここが一番の問題ですw みんなChromeに乗り換えてくれえええ

ご参考

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?