<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Rocky-Linux-9 on K-Life Hack | システムアーキテクチャ &amp; DevOps</title><link>https://klifehack.com/tags/rocky-linux-9/</link><description>Recent content in Rocky-Linux-9 on K-Life Hack | システムアーキテクチャ &amp; DevOps</description><generator>Hugo -- gohugo.io</generator><language>ja</language><lastBuildDate>Mon, 07 Sep 2026 10:03:58 +0900</lastBuildDate><atom:link href="https://klifehack.com/tags/rocky-linux-9/index.xml" rel="self" type="application/rss+xml"/><item><title>Rocky Linux 9におけるNginxリバースプロキシ構成とApacheポート移行手順</title><link>https://klifehack.com/p/nginx-reverse-proxy-apache-rocky-linux/</link><pubDate>Mon, 07 Sep 2026 10:03:58 +0900</pubDate><guid>https://klifehack.com/p/nginx-reverse-proxy-apache-rocky-linux/</guid><description>&lt;p&gt;Webシステムのトラフィック増大に伴い、従来のプロセス／スレッド駆動型Webサーバー（Apache HTTP Server等）では、クライアント接続数の増加に比例してメモリ消費およびコンテキストスイッチのオーバーヘッドが顕在化します。これに対し、非同期イベント駆動アーキテクチャを採用したNginxをネットワークエッジに配置し、リバースプロキシとしてリクエストを受け付ける構成は、接続管理の集約とバックエンド保護における有効なアプローチとなります。&lt;/p&gt;&#10;&lt;p&gt;本稿では、Rocky Linux 9環境を対象に、既存のApache HTTP Server（httpd）をバックエンド（ポート8080）へ移行し、フロントエンドにNginx（ポート80）をリバースプロキシとして導入・連携するアーキテクチャの構築手順および運用時の注意点を整理します。&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; +----------------------------------------------+&#10; | Rocky Linux 9 |&#10; | |&#10;[ Client ] ------&amp;amp;gt;| [ Port 80: Nginx ] |&#10; (Browser) HTTP | | |&#10; | | proxy_pass (Internal Forwarding) |&#10; | v |&#10; | [ Port 8080: Apache HTTP Server ] |&#10; | | |&#10; | +--&amp;amp;gt; VirtualHost: site-a.com |&#10; +----------------------------------------------+&#10;&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;&#10;&lt;h2 id="1-apache-ポート移行tcp-80---8080"&gt;1. Apache ポート移行（TCP 80 -&amp;gt; 8080）&#10;&lt;/h2&gt;&lt;p&gt;デフォルト状態でNginxとApacheを同一OSインスタンス上で稼働させる場合、標準HTTPポート（TCP 80）のバインド競合（&lt;code&gt;EADDRINUSE: Address already in use&lt;/code&gt;）が発生します。外部トラフィックをNginxで終端するため、Apache側のリッスンポートを8080へ変更します。&lt;/p&gt;&#10;&lt;h3 id="11-グローバルリッスン設定の変更"&gt;1.1 グローバルリッスン設定の変更&#10;&lt;/h3&gt;&lt;p&gt;Apacheのメイン設定ファイル &lt;code&gt;/etc/httpd/conf/httpd.conf&lt;/code&gt; を編集します。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-apache" data-lang="apache"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# /etc/httpd/conf/httpd.conf&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 変更前: Listen 80&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Listen &lt;span style="color:#ae81ff"&gt;8080&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="12-バーチャルホスト設定の同期"&gt;1.2 バーチャルホスト設定の同期&#10;&lt;/h3&gt;&lt;p&gt;既存のVirtualHost定義（例: &lt;code&gt;/etc/httpd/conf.d/site-a.conf&lt;/code&gt;）もポート8080を明示的に指定するように更新します。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-apache" data-lang="apache"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# /etc/httpd/conf.d/site-a.conf&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;&amp;lt;virtualhost&lt;/span&gt; &lt;span style="color:#e6db74"&gt;*:8080=&amp;#34;&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ServerName site-a.com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ServerAlias www.site-a.com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; DocumentRoot &lt;span style="color:#e6db74"&gt;/var/www/site-a&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;directory&lt;/span&gt; &lt;span style="color:#e6db74"&gt;site-a=&amp;#34;&amp;#34; var=&amp;#34;&amp;#34; www=&amp;#34;&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; AllowOverride &lt;span style="color:#66d9ef"&gt;All&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Require &lt;span style="color:#66d9ef"&gt;all&lt;/span&gt; granted&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;/directory&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ErrorLog logs/site-a_error.log&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; CustomLog logs/site-a_access.log combined&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;&amp;lt;/virtualhost&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="13-サービス再起動とポートバインド検証"&gt;1.3 サービス再起動とポートバインド検証&#10;&lt;/h3&gt;&lt;p&gt;設定反映のため &lt;code&gt;httpd&lt;/code&gt; サービスを再起動し、ポート8080でリッスンしていることを確認します。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl restart httpd&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo ss -tulpn | grep httpd&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;出力例:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tcp LISTEN 0 511 *:8080 *:* users:((&amp;#34;httpd&amp;#34;,pid=1234,fd=4))&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&#10;&lt;h2 id="2-nginxのインストールとリバースプロキシ設定"&gt;2. Nginxのインストールとリバースプロキシ設定&#10;&lt;/h2&gt;&lt;h3 id="21-パッケージ導入と自動起動設定"&gt;2.1 パッケージ導入と自動起動設定&#10;&lt;/h3&gt;&lt;p&gt;Rocky Linux 9の公式リポジトリよりNginxをインストールします。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo dnf install -y nginx&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl start nginx&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl enable nginx&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="22-リバースプロキシブロックの構築"&gt;2.2 リバースプロキシブロックの構築&#10;&lt;/h3&gt;&lt;p&gt;Nginx設定ディレクトリ配下にプロキシ設定ファイル &lt;code&gt;/etc/nginx/conf.d/proxy.conf&lt;/code&gt; を作成します。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-nginx" data-lang="nginx"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# /etc/nginx/conf.d/proxy.conf&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;server&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;listen&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;80&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;server_name&lt;/span&gt; &lt;span style="color:#e6db74"&gt;site-a.com&lt;/span&gt; &lt;span style="color:#e6db74"&gt;www.site-a.com&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;location&lt;/span&gt; &lt;span style="color:#e6db74"&gt;/&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;proxy_pass&lt;/span&gt; &lt;span style="color:#e6db74"&gt;http://127.0.0.1:8080&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# クライアント情報の伝搬&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;proxy_set_header&lt;/span&gt; &lt;span style="color:#e6db74"&gt;Host&lt;/span&gt; $host;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;proxy_set_header&lt;/span&gt; &lt;span style="color:#e6db74"&gt;X-Real-IP&lt;/span&gt; $remote_addr;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;proxy_set_header&lt;/span&gt; &lt;span style="color:#e6db74"&gt;X-Forwarded-For&lt;/span&gt; $proxy_add_x_forwarded_for;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;proxy_set_header&lt;/span&gt; &lt;span style="color:#e6db74"&gt;X-Forwarded-Proto&lt;/span&gt; $scheme;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;各ディレクティブの役割:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;proxy_pass http://127.0.0.1:8080;&lt;/code&gt;: 受信したリクエストをローカルのApache（ポート8080）へ中継します。&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;proxy_set_header Host $host;&lt;/code&gt;: クライアントが要求したオリジナルのHostヘッダーを維持し、Apache側のVirtualHost判定を正しく機能させます。&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;proxy_set_header X-Real-IP $remote_addr;&lt;/code&gt;: クライアントの送信元IPアドレスをバックエンドへ明示的に伝達します。&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;&lt;/code&gt;: プロキシ経由のクライアントIPアドレスリストを追記します。&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;proxy_set_header X-Forwarded-Proto $scheme;&lt;/code&gt;: 元のリクエストプロトコル（httpまたはhttps）を伝搬します。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="3-selinuxポリシー調整と設定適用"&gt;3. SELinuxポリシー調整と設定適用&#10;&lt;/h2&gt;&lt;p&gt;Rocky Linux 9ではSELinuxがデフォルトで有効化（Enforcing）されており、Webサーバープロセスから外部・内部ネットワークソケットへのアウトバウンド通信が制限されています。この制限を解除しない場合、NginxからApacheへの通信が遮断され &lt;code&gt;502 Bad Gateway&lt;/code&gt; が発生します。&lt;/p&gt;&#10;&lt;h3 id="31-ネットワークリレーの永続的許可"&gt;3.1 ネットワークリレーの永続的許可&#10;&lt;/h3&gt;&lt;p&gt;💡 &lt;code&gt;setsebool&lt;/code&gt; コマンドで &lt;code&gt;httpd_can_network_connect&lt;/code&gt; を有効化します。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo setsebool -P httpd_can_network_connect &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="32-構文チェックとサービスリロード"&gt;3.2 構文チェックとサービスリロード&#10;&lt;/h3&gt;&lt;p&gt;設定ファイルの文法を確認後、サービスをリロードします。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo nginx -t&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl reload nginx&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&#10;&lt;h2 id="4-動作検証プロトコル"&gt;4. 動作検証プロトコル&#10;&lt;/h2&gt;&lt;p&gt;正常にプロキシが機能しているか、ポートバインドおよびHTTPヘッダーレスポンスを確認します。&lt;/p&gt;&#10;&lt;h3 id="41-ポートバインド状態の確認"&gt;4.1 ポートバインド状態の確認&#10;&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo ss -tulpn | grep -E &lt;span style="color:#e6db74"&gt;&amp;#39;80|8080&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;出力例:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tcp LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:((&amp;#34;nginx&amp;#34;,pid=5678,fd=6))&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tcp LISTEN 0 511 *:8080 *:* users:((&amp;#34;httpd&amp;#34;,pid=1234,fd=4))&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="42-httpレスポンスの疎通確認"&gt;4.2 HTTPレスポンスの疎通確認&#10;&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -I -H &lt;span style="color:#e6db74"&gt;&amp;#34;Host: site-a.com&amp;#34;&lt;/span&gt; http://127.0.0.1&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;出力例:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;HTTP/1.1 200 OK&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Server: nginx/1.20.1&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Date: Mon, 07 Sep 2026 09:00:00 GMT&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Content-Type: text/html; charset=UTF-8&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Connection: keep-alive&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&#10;&lt;h2 id="5-troubleshooting"&gt;5. Troubleshooting&#10;&lt;/h2&gt;&lt;h3 id="51-nginx起動失敗-job-for-nginxservice-failed"&gt;5.1 Nginx起動失敗 (&lt;code&gt;Job for nginx.service failed&lt;/code&gt;)&#10;&lt;/h3&gt;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;⚠️ &lt;b&gt;原因&lt;/b&gt;: Apacheがポート80を占有したままNginxを起動した場合に発生。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;b&gt;確認・復旧手順&lt;/b&gt;:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 80番ポートを占有しているプロセスの特定&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo ss -tulpn | grep :80&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# httpdの設定を確認後、再起動して80番を解放&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl restart httpd&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl start nginx&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="52-502-bad-gateway-エラー"&gt;5.2 502 Bad Gateway エラー&#10;&lt;/h3&gt;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;⚠️ &lt;b&gt;原因1&lt;/b&gt;: バックエンドのApacheが停止している、または指定ポート（8080）で応答していない。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;⚠️ &lt;b&gt;原因2&lt;/b&gt;: SELinuxによってNginxから内部ポートへの接続が拒否されている。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;b&gt;確認・復旧手順&lt;/b&gt;:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Apacheの稼働確認&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl status httpd&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# SELinux Boolean状態の確認&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo getsebool httpd_can_network_connect&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# off の場合は以下を実行&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo setsebool -P httpd_can_network_connect &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Nginxエラーログの詳細確認&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo tail -n &lt;span style="color:#ae81ff"&gt;20&lt;/span&gt; /var/log/nginx/error.log&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="6-operational-notes"&gt;6. Operational Notes&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;🛠️ &lt;b&gt;ヘッダー透過性の維持&lt;/b&gt;: プロキシを挟む構成では、Apache側のアクセスログに記録されるIPが &lt;code&gt;127.0.0.1&lt;/code&gt; に置き換わらないよう、Apache側で &lt;code&gt;remoteip_module&lt;/code&gt;（&lt;code&gt;RemoteIPHeader X-Forwarded-For&lt;/code&gt;）の導入を検討してください。&lt;/li&gt;&#10;&lt;li&gt;🛠️ &lt;b&gt;構成の拡張性&lt;/b&gt;: Nginxをフロントエンドに集約することで、将来的なTLS終端（Let&amp;rsquo;s Encrypt / Certbot連携）や静的コンテンツの直接配信、Rate Limiting設定を容易に拡張できます。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;</description></item></channel></rss>