Skip to content

ja workshop production proxy and ssl

langbot-wiki-sync[bot] edited this page Jul 29, 2026 · 1 revision

HTTPリバースプロキシの設定またはゲートウェイ経由でのLangBotへのアクセス

LangBotにはHTTPSサービス用の組み込みSSLサポートがありません。ドメイン名をLangBotインスタンスに解決する必要がある場合、またはHTTPSを使用してLangBot WebUIとさまざまなボット用のWebhookアドレスにアクセスする必要がある場合は、このドキュメントを参照してNGINXまたはCaddyをデプロイし、HTTPリバースプロキシを実装してください。

公開IPアドレスを持つホストにLangBotをデプロイし、ドメイン名を購入し、ドメイン名をホストの公開IPに解決する必要があります。

Tip

設定が面倒ですか? LangBot Cloud にはドメインと HTTPS が組み込まれています。サーバーやドメインの購入、リバースプロキシの設定は不要です。登録するだけで Slack、LINE、WeCom などの Webhook プラットフォームをすぐに使用できます。

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
}

Note

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 nginx

SSL証明書の準備

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_prefixhttps://your.domain.comに設定すると、ボットWebhookコールバックアドレスが正しくなります。

上記の設定を完了すると、https://your.domain.comを通じてLangBot WebUIとボットWebhookサービスに安全にアクセスできます。

LangBot Documentation

Home

简体中文
指南
开发者
文章
API 参考
Other pages
English
Guides
Developers
Articles
API Reference
Other pages
日本語
ガイド
開発者
記事
API リファレンス
Other pages

Clone this wiki locally