NGINX

この設定はある程度の NGINX や証明書の知識が必要になります

概要

Sora のシグナリングを暗号化する場合に何かしらのサーバーを立てる必要があります。

ここでは NGINX での設定例を紹介しています。

設定例

nginx.conf の http ディレクティブに include を使用した場合の設定例です。

ssl_* 関連の設定は済んでいる前提とします。

NGINX 経由でオンラインの開発ツールを利用する場合

server {
    listen 443 ssl default_server;

    server_name sora.example.com;

    # Sora のシグナリング に Proxy します
    location = /signaling {
        proxy_pass http://127.0.0.1:5000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    # Sora の HTTP API に Proxy します
    # 本番環境では認証などの機能を利用してください
    location /api {
        proxy_pass http://127.0.0.1:3000/;
    }

    # Sora の開発ツールにリバース Proxy します
    # 本番環境では不要です
    location / {
        index index.html;

        proxy_http_version 1.1;
        proxy_pass https://sora-devtools.shiguredo.app;
        proxy_set_header Host sora-devtools.shiguredo.app;
        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;

        proxy_ssl_server_name on;
        proxy_ssl_name sora-devtools.shiguredo.app;
        proxy_ssl_protocols TLSv1.2 TLSv1.3;        
    }
}

NGINX 経由でオフラインの発者ツールを利用する場合

server {
    listen 443 ssl default_server;

    server_name sora.example.com;

    # Sora のシグナリング に Proxy します
    location = /signaling {
        proxy_pass http://127.0.0.1:5000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    # Sora の HTTP API に Proxy します
    # 本番環境では認証などの機能を利用してください
    location /api {
        proxy_pass http://127.0.0.1:3000/;
    }

    # Sora の開発ツールにリバース Proxy します
    # 本番環境では不要です
    location / {
        root /path/to/sora-devtools-<version>;
        index index.html;
        try_files $uri $uri/ /index.html;
    }
}

TURN を含んだ設定

TURN 関連は 本番稼働に向けて にある資料を確認してください。

TURN-TLS、TURN-TCP、シグナリングで 443 番ポートを使用する

ウェブフックを NGINX 経由で送信する

ウェブフックをリバースプロキシする設定は 本番稼働に向けて にある資料を確認してください。

ウェブフックを NGINX 経由で送信する

デフォルトで有効になっている設定を無効化する

NGINX パッケージのインストール時には、/etc/nginx/sites-enabled/default の設定がデフォルトで有効化されていることがあります。

この設定を明示的に無効にしない場合は、意図しない仮想ホストが有効となり、想定外のリクエストを処理してしまう可能性があります。

そのため、特に目的がなければ、/etc/nginx/sites-enabled/default ファイルを削除して無効化し、 必要な設定のみを明示的に有効化した状態にすることをおすすめします。