HTTPリバースプロキシの設定またはゲートウェイ経由でのLangBotへのアクセス
LangBotにはHTTPSサービス用の組み込みSSLサポートがありません。ドメイン名をLangBotインスタンスに解決する必要がある場合、またはHTTPSを使用してLangBot WebUIとさまざまなボット用のWebhookアドレスにアクセスする必要がある場合は、このドキュメントを参照してNGINXまたはCaddyをデプロイし、HTTPリバースプロキシを実装してください。
公開IPアドレスを持つホストにLangBotをデプロイし、ドメイン名を購入し、ドメイン名をホストの公開IPに解決する必要があります。
WARNING
QQ公式ボット、WeChat公式アカウント、WeCom、Slack、LINEなどのWebhookコールバックアドレスが必要なボットを使用する必要がある場合は、このドキュメントに従ってHTTPリバースプロキシを設定する必要があります。
Caddy
Caddyは、自動HTTPS証明書申請と更新、リバースプロキシ、自動DNS解決設定をサポートする最新のHTTPサーバーです。
Caddyインストールドキュメント。お使いのオペレーティングシステムに対応するインストール手順を選択して、インストールを進めてください。
Caddyfileの設定
このドキュメントでは、LangBotをデプロイするためにUbuntuシステムを使用することを前提としています。システムでは、Caddyfileのデフォルトの場所は/etc/caddy/Caddyfileです。 vimまたはnanoを使用してCaddyfileを編集し、次のようにCaddyfileに記入します:
your.domain.com {
reverse_proxy 127.0.0.1:5300
}INFO
CaddyとLangBotがコンテナを使用してデプロイされている場合は、コンテナネットワーク設定の詳細を確認してください
これで、ブラウザを通じてhttps://your.domain.comでLangBot WebUIにアクセスできます。
ボットコールバックアドレスプレフィックスの設定
QQ公式ボット、WeChat公式アカウント、WeCom、Slack、LINEなどのWebhookコールバックアドレスが必要なボットを使用する必要がある場合は、data/config.yamlファイルでapi.webhook_prefixをドメイン名に設定してください。例: https://your.domain.com。
その後、ボット管理ページに正しく表示されたコールバックアドレスが表示されます。
NGINX
NGINXも一般的に使用されるHTTPサーバーおよびリバースプロキシツールであり、LangBotへのHTTPSアクセスを実装するために使用できます。
NGINXのインストール
Ubuntuでは、次のコマンドでNGINXをインストールできます:
sudo apt update
sudo apt install nginxSSL証明書の準備
Let's Encryptを使用して無料のSSL証明書を申請できます。証明書を取得するには、Certbotツールの使用をお勧めします:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginxプロンプトに従ってドメイン名を入力すると、証明書の申請とNGINXの設定が自動的に完了します。以下の内容を参照してNGINX設定を完了してください。
NGINXリバースプロキシの設定
LangBotのパイプラインデバッグ機能では、WebSocket接続を使用する必要があるため、NGINXをWebSocketをサポートするように設定する必要があります。
NGINX設定ファイル/etc/nginx/sites-available/langbotを編集します(vimまたはnanoエディターを使用できます):
# WebSocket接続アップグレードマッピング(serverブロックの外側に配置)
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name your.domain.com;
# HTTPトラフィックをHTTPSにリダイレクト
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name your.domain.com;
ssl_certificate /etc/letsencrypt/live/your.domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your.domain.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
# LangBotインスタンスへのリバースプロキシ
location / {
proxy_pass http://127.0.0.1:5300;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# WebSocketサポート
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_read_timeout 86400;
}
}your.domain.comを実際のドメイン名に置き換えてください。
この設定を有効にし、NGINXを再起動します:
sudo ln -s /etc/nginx/sites-available/langbot /etc/nginx/sites-enabled/langbot
sudo nginx -t
sudo systemctl reload nginxボットコールバックアドレスプレフィックスの設定
同様に、data/config.yaml設定ファイルでapi.webhook_prefixをhttps://your.domain.comに設定すると、ボットWebhookコールバックアドレスが正しくなります。
上記の設定を完了すると、https://your.domain.comを通じてLangBot WebUIとボットWebhookサービスに安全にアクセスできます。
