メインコンテンツへ移動

Flink Web プロキシ設定

セキュリティに関する注意

Flink Web は管理画面です。管理されたネットワークからのみアクセスし、認証を有効にして、インターネットに直接公開しないでください。

設定手順​

1. 設定の準備

コンテナ外に Nginx をデプロイする場合は、まず Nginx のデプロイ を参照してインストールと基本設定を完了し、続けて HTTP プロキシ設定 または HTTPS プロキシ設定 を参照して HAP プロキシを設定します。

以下の例では、次の設定を使用します。

  • Nginx 設定ファイル:/usr/local/nginx/conf/conf.d/hap.conf
  • Flink サービスアドレス:http://192.168.10.30:8081
接続要件

コンテナ外の Nginx が実行されているホストから、http://192.168.10.30:8081 にアクセスできることを確認してください。接続できない場合、Flink Web プロキシには正常にアクセスできません。

2. 設定ファイルをバックアップ

cp -p /usr/local/nginx/conf/conf.d/hap.conf /usr/local/nginx/conf/conf.d/hap.conf.bak.$(date +%Y%m%d%H%M%S)

3. Flink プロキシ設定を追加

HAP プロキシ設定ファイルを編集します。

vi /usr/local/nginx/conf/conf.d/hap.conf

HAP のアクセスアドレスに対応する server 設定ブロックに、次の location を追加します。upstream hap 設定ブロックには追加しないでください。

location /privatedeploy/mdy/monitor/flink/ {
auth_basic "Flink Web";
auth_basic_user_file /usr/local/nginx/conf/conf.d/.flink_passwd;
rewrite ^/privatedeploy/mdy/monitor/flink$ / break;
rewrite ^/privatedeploy/mdy/monitor/flink/(.*)$ /$1 break;
proxy_pass http://192.168.10.30:8081; # 実際の Flink Web サービスアドレスに置き換えてください
return 200 "ok";
}
設定に関する説明
  • この location は、HAP のアクセスアドレスに対応する server 設定ブロックに追加し、upstream hap には追加しないでください。
  • proxy_pass には実際の Flink Web サービスアドレスを指定します。
  • HTTPS プロキシを使用する場合は 443 ssl を listen する server に、HTTP プロキシを使用する場合は 80 を listen する server に設定を追加します。
HAP プロキシ設定との統合例

以下の例は /usr/local/nginx/conf/conf.d/hap.conf の設定参考として直接使用できます。実際の環境に合わせて、HAP バックエンドアドレス、証明書パス、Flink サービスアドレスを変更してください。

upstream hap {
server 服务器IP:8880; # HAP システムの内部 IP アドレスとポートに変更
}

server {
listen 80;
server_name _;
access_log /data/logs/weblogs/hap.log main;
error_log /data/logs/weblogs/hap.error.log;

underscores_in_headers on;
client_max_body_size 2048m;

location / {
set $real_ip '';
if ($http_x_real_ip) {
set $real_ip $http_x_real_ip;
}
if ($http_x_real_ip = '') {
set $real_ip $remote_addr;
}
proxy_set_header X-Real-IP $real_ip;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://hap;
}

# IM に必要
location ~ /mds2 {
proxy_set_header Host $http_host;
proxy_hide_header X-Powered-By;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://hap;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
}

# SSE ストリーミング応答および長時間接続リクエスト
location ~ ^/(agent|api/workflow/api/sse/chat) {
set $md_real_ip '';
if ($http_x_real_ip) {
set $md_real_ip $http_x_real_ip;
}
if ($http_x_real_ip = '') {
set $md_real_ip $remote_addr;
}
proxy_buffering off;
proxy_read_timeout 30m;
proxy_send_timeout 30m;
client_max_body_size 16m;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $md_real_ip;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-HTTP-Method-Override "";
proxy_pass http://hap;
proxy_redirect default;
}

location /privatedeploy/mdy/monitor/flink/ {
auth_basic "Flink Web";
auth_basic_user_file /usr/local/nginx/conf/conf.d/.flink_passwd;
rewrite ^/privatedeploy/mdy/monitor/flink$ / break;
rewrite ^/privatedeploy/mdy/monitor/flink/(.*)$ /$1 break;
proxy_pass http://192.168.10.30:8081; # 実際の Flink Web サービスアドレスに置き換えてください
return 200 "ok";
}
}

4. ログインアカウントを作成

ログインユーザー名は hap です。コマンド内の YourStrongPassword123 は例です。実行前に実際のログインパスワードへ置き換えてください。パスワードには英字と数字のみ使用できます。複雑なパスワードの使用を推奨します。

printf "hap:$(openssl passwd -apr1 'YourStrongPassword123')\n" > /usr/local/nginx/conf/conf.d/.flink_passwd

5. Nginx を確認して再読み込み

/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload

アクセスアドレス​

設定完了後、ブラウザーで次のアドレスにアクセスし、設定したアカウントとパスワードでログインします。

<HAP访问地址>/privatedeploy/mdy/monitor/flink/

<HAP访问地址> を実際の HAP アクセスアドレスに置き換えてください。

ログインユーザー名は hap、パスワードは設定時に指定したパスワードです。