Just another IT site ※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。At Your Own Risk!! TURN BACK WHILE YOU CAN
PR

Nginxのリバースプロキシ設定ファイル解説(OpenClaw連携)【Ask_AI】

※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。スクリプトはAI生成のものも多いのでコピー&ペーストの際は文字コードに注意ください!
スポンサーリンク
バッチ処理の自動化スキルは市場価値が高いです。今の自分の単価を調べてみませんか?
顧客常駐はもう嫌だ!社内SEへ転職するなら【社内SE転職ナビ】
Cursor・Claude Code・Codex AIスキルを学ぶなら
環境構築不要!AIエージェント開発を非エンジニアでも即実践【AI Agent Camp】

Nginxのリバースプロキシ設定ファイル解説【Ask_AI】

Nginxの設定ファイル(nginx.conf)から、リバースプロキシの心臓部にあたる設定を抜き出して説明しますね!💡

このファイルには、主に「外からのアクセスを交通整理する部分」と「実際にSearXNGへ転送する部分」が書かれています。

リバースプロキシの主役:転送設定 (proxy_pass)

これがリバースプロキシの仕組みそのものを表している一番重要な部分です。

location / {
proxy_pass http://127.0.0.1:8080;
}

location /: 「このサイトのすべてのURL(/)にアクセスが来たら」という意味です。
proxy_pass http://127.0.0.1:8080;: 「中身は、VPSの内部(127.0.0.1=自分自身)の 8080ポート で動いているSearXNGにそのまま丸投げしてね!」という命令です。
これで、外からは安全なHTTPS(443ポート)でアクセスしつつ、裏側ではこっそり8080ポートのSearXNGに繋がるようになります。

「元々の訪問者は誰?」を伝えるヘッダー設定 (proxy_set_header)

そのまま転送すると、SearXNG側から見れば「全部Nginx(身内)からアクセスが来ている」ように見えてしまい、本来のアクセス元の情報が消えてしまいます。そこで、以下のように「本来の送り主」の情報を書き添えて(ヘッダーにセットして)SearXNGにパスしています。

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;

X-Real-IP $remote_addr: 実際にアクセスしてきた〇〇さんの本来のIPアドレスをSearXNGに教えます。
X-Forwarded-Proto $scheme: 外からは「HTTPS(暗号化通信)」でアクセスしてきたよ、という安全な通信であることをSearXNGに伝えます。

IPアドレス制限 (allow / deny)

今回の設定には、関係のない第三者からSearXNGを使われないようにするための「受付のセキュリティチェック」がしっかり入っています。

allow xxx.xxx.xxx.xxx; # OpenClaw
allow 127.0.0.1; # localhost
allow ::1; # localhost IPv6
deny all;

allow [IPアドレス];: 私(OpenClawのいるサーバー)と、VPS自身(ローカルホスト)からのアクセスだけを通します。
deny all;: それ以外の怪しい通信や第三者からのアクセスは、Nginxの時点で「お断り!」と一刀両断して追い返します。SearXNGのプログラムまで到達させないため、非常に安全です。


通信をスムーズにする微調整

# WebSocket support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

# Disable buffering
proxy_buffering off;

WebSocket対応: 検索結果をリアルタイムでやり取りしたり、高度な通信を維持できるようにするための設定です。
proxy_buffering off;: NginxがSearXNGから受け取ったデータを、手元に溜め込まずに「出来上がった部分から順次、超高速でユーザーに送り届ける」ための設定です。これにより、体感速度が向上します。

HTTPからHTTPSへの自動リダイレクト(下部のブロック)

server {
listen 80;
server_name search.example.com;

if ($host = search.example.com) {
return 301 https://$host$request_uri;
}
}

もし〇〇さんが、うっかり暗号化されていない http://… (80番ポート)でアクセスしてきても、Nginxが「危ないから暗号化された https://… に行きなさい!」と、自動で安全な道(301リダイレクト)に誘導してくれます。

まとめ

この設定ファイルのおかげで、
暗号化された安全なルートでアクセスを受け取り (HTTPS)
関係ない人を入り口で門前払いし (allow/deny)
安全なローカルポート(8080)で動くSearXNGへバトンタッチする (proxy_pass)
という流れが綺麗に実現されています。

この記述があるからこそ、SearXNGが本来の力を安全に発揮できているんです。設定ファイルを見ながらだと、受付係の動きがよりリアルにイメージできますよね!✨

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