iLO3をnginxでリバースプロキシしてモダンブラウザでも使い続ける

雑記
雑記
この記事は約4分で読めます。
スポンサーリンク

TLS1.0/1.1のサポート終了

最近リリースされたアップデートで、これまで非推奨になっていたTLS1.0/1.1のサポートが完全に終了しました。

これによりChromeでiLO3を使用することができなくなってしまったので、Nginxでリバースプロキシを噛ましていい感じに使えるようにしよう、という内容の雑記です。

どうせならキャッシュも取ろう

素のままだとめちゃくちゃ重いiLOですが、フォロワーさん*が「静的ファイルをキャッシュすれば動作が早くなるかもしれない」と教えてくださったので、キャッシュを取る設定もします。
*今回リバースプロキシを噛ませるにあたってアドバイスをくださった方でもあるつよつよマン

環境など

メインのサーバーとは別に用意したRaspberryPi上でnginxのリバースプロキシを噛ませます。

ここではiLOのIPを192.168.11.129、RaspberryPiのIPを192.168.11.130として記載していきます。

設定

リバースプロキシ側

RaspberryPiにnginxを導入し、/etc/nginx/nginx.confのhttpディレクティブ内に以下を追記します。

proxy_cache_path /var/cache/nginx/cache levels=1:2 keys_zone=zone1:4m inactive=7d max_size=50m;
proxy_temp_path /var/cache/nginx/tmp;

任意の場所にconfigファイルを作成(または編集)し、以下を書き込みます

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    client_max_body_size 1024M;
    server_name _;

    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;

        proxy_ssl_session_reuse on;
        proxy_ssl_protocols TLSv1.1;
        proxy_ssl_ciphers HIGH:MEDIUM:!aNULL:!MD5:!DH;

        proxy_pass https://192.168.11.129/;

        #デフォルトではキャッシュしない
        set $do_not_cache 1;

        # 静的コンテンツのみキャッシュする
        if ($uri ~* "\.(jpg|jpeg|png|webp|gif|mp4|css|js|ico|html)$") {
            set $do_not_cache 0;
        }

        proxy_no_cache          $do_not_cache;
        proxy_cache_bypass      $do_not_cache;

        proxy_cache             zone1;
        proxy_cache_key         $uri;
        proxy_cache_valid       200 201 6h;
        proxy_cache_valid       302 3h;
        proxy_cache_valid       301 1d;
        proxy_cache_valid       404 5m;
        proxy_cache_lock        on;
        proxy_buffering         on;
        proxy_ignore_headers    X-Accel-Redirect X-Accel-Expires Cache-Control Expires Vary;
        add_header              X-Cache-Status $upstream_cache_status;
    }
}

proxy_passのIPを置き換えてから保存後にnginxを再起動します。

リバースプロキシ側の設定はこれで完了です。

iLO側の設定

一旦IEなどのTLS1.1でもアクセス出来るブラウザでiLOを開き、Administration -> Security -> EncryptionにあるEnforce AES/3DES EncryptionEnabledに設定します。

設定を変更したらApplyします。

おわり

これでリバースプロキシ側のIP(ここでは192.168.11.130)にアクセスすれば、これまで通りアクセス出来るようになるはずです。

コメント

タイトルとURLをコピーしました