作成開始 : 令和7年(2026年)07月10日(金) 最終更新 :
令和7年(2026年)07月14日(火)
FreeBSDのApache24を Cloudflare
Zero Trust Tunnel 対応にしてみた。
プロバイダ : ぷらら の頃にダイナミックDNSを使って FreeBSDのApache24(portsからインストール)を使い、
Let's Encrypt(レッツエンクリプト)の SSL証明書で自宅サーバーを公開していました。
しかし、良く調べもせず フレッツ光 ネクスト(100Mbps) からフレッツ光 クロス 10G に変更し プロバイダ :
AsahiNet にしました。
フレッツ光 クロス 10G + では AsahiNet
では IPv6 のため PPPoEが使えないので自宅サーバー公開を一時断念していました。
その後、Cloudflare Zero Trust Tunnel
で無事に自宅サーバーを公開できました。
メインのWebサーバーは実機上で稼働しています。
そのバックアップとしてプロバイダ : ぷらら の頃に使っていたWebサーバーの仮想マシン(VirtualBoxのやつ)を最近構築した
VirtualBoxにインポートしました。
そのため、この仮想マシンのApache24はSSL対応していたので Cloudflare Zero Trust Tunnel
用に変更してみました。
1.https(SSL)対応のリマーク
/usr/local/etc/apache24/httpd.conf を修正します。
作業は root でします。
(1) LoadModule ssl_module libexec/apache24/mod_ssl.so
をリマークします。
LoadModule ssl_module libexec/apache24/mod_ssl.so
↓
# LoadModule ssl_module libexec/apache24/mod_ssl.so
(2)Include etc/apache24/extra/httpd-ssl.conf をリマークします。
Include etc/apache24/extra/httpd-ssl.conf
↓
# Include etc/apache24/extra/httpd-ssl.conf
2.http対応
ドキュメントを再利用するため以下実施(/usr3/httpd/sslにドキュメント置いてました)
# DocumentRoot "/usr3/httpd/html"
↓
DocumentRoot "/usr3/httpd/ssl"
<Directory "/usr3/httpd/html">
↓
<Directory "/usr3/httpd/ssl">
3.Cloudflare Zero Trust Tunnel 対応
(1)リモートIP取得のため以下対応
# LoadModule remoteip_module
libexec/apache24/mod_remoteip.so
↓
LoadModule remoteip_module libexec/apache24/mod_remoteip.so
(2)ログに(実際の)リモートホストを出力
# LogFormat "%h %l %u %t \"%r\" %>s %b"
common
↓
LogFormat "%a %l %u %t \"%r\" %>s %b" common
(3)バーチャルホスト利用のため以下対応
# Include etc/apache24/extra/httpd-vhosts.conf
↓
Include etc/apache24/extra/httpd-vhosts.conf
(4)バーチャルホスト編集
/usr/local/etc/apache24/extra/httpd-vhosts.conf を編集
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/usr3/httpd/ssl"
# Use CF-Connecting-IP for the actual visitor
IP
RemoteIPHeader CF-Connecting-IP
# ServerName dummy-host.example.com
# ServerAlias www.dummy-host.example.com
ErrorLog "/var/log/httpd-error.log"
CustomLog "/var/log/httpd-access.log" common
</VirtualHost>
RemoteIPHeader CF-Connecting-IP がミソです。
これで、実際のIPアドレスを取得することができます。
これが無いと、Cloudflare Zero Trust Tunnelとの接続をしている
LAN上のPCのIPアドレスになってしまいます。
以上が終わったら service apache24 restart して実際にアクセスし確認します。
しばらくぶりに FreeBSDのApacheいじったら色々と戸惑いました。
ここしばらく q4os(debianベース)のApacheだったので・・・😥

↑
こんなんで動かしてます。
もう少しコンテンツを調整し、メインの仮想マシンを稼働させる実機が手に入ったら、ここからVMをエクスポートしてインポートの予定です。
ただ、コンソールに以下のメッセージが5分おきくらいに出ます。
実害は無いのですが、何とも気になるので色々調べましたが対処かなわずです。
以下のは、ログです。
/var/log/samba4/log.nmbd
[2026/07/11 18:15:14.939615, 0]
../../source3/nmbd/nmbd_namequery.c:109(query_name_response)
query_name_response: Multiple (2) responses received for a
query on subnet 192.168.1.20 for name SENDAI<1d>.
This response was from IP 192.168.1.11, reporting an IP
address of 192.168.1.11.
VMのFreeBSDは 192.168.1.20 です。192.168.1.11 はメインの仮想マシンを稼働させる実機です。
この時 192.168.1.11 はマスターブラウザになっています。
なんか、マスターブラウザの取り合いになっているような・・・
/var/log/samba4/log.smbd
[2026/07/11 17:44:45.372458, 0]
../../source3/smbd/server.c:1784(main)
smbd version 4.13.1 started.
Copyright Andrew Tridgell and the Samba Team 1992-2020
[2026/07/11 17:44:52.003129, 0]
../../lib/util/become_daemon.c:136(daemon_ready)
daemon_ready: daemon 'smbd' finished starting up and ready to
serve connections
※こっちはVM起動時に1回だけ出ます。
どうにも解決できなかったので以下で止めました。
[global] セクションに以下のパラメータを追加または変更します。
# ログレベルを最も低い「0」にし、致命的なエラーのみ記録する
log level = 0
# syslogへ出力するログレベルも「0」に設定
syslog = 0
ログファイルの最大サイズ( max log size)は設定済です。
【戻る】
