[Pound2.8] Syslog設定とWebDAVサーバへの振り分け
はじめに
PoundでSyslog設定を行いアクセスログを取得できるようにします。
また、WebDAVサーバをバックエンドサーバに配置しFQDNベースで振り分けします。
Syslog設定
Syslogを導入するにあたり、rsyslogをインストールします。Poundはそのrsyslogにログを出力します。
rsyslogのインストールと設定
まずはrsyslogのインストールをします。(CentOS8を使用しています。)
# dnf -y install rsyslog
続いてファシリティ設定を行います。当方の環境ではlocal5を指定しました。
# vi /etc/rsyslog.conf
# Save boot messages also to boot.log
local5.* /var/log/pound.log #本行を追加
設定の反映をします。
# systemctl restart rsyslog
rsyslogの設定は以上です。
PoundのSyslog設定
Poundのログ設定は簡単です。基本的に「LogFacility」と「LogLevel」を設定するのみです。
「LogFacilty」はrsyslogで設定したLocal値を設定します。
次に「LogLevel」を指定します。数字によってログ出力の内容が変わりますが当方は『5』としました。
# vi /etc/pound.cfg
<省略>
User "pound"
Group "pound"
Control "/var/lib/pound/pound.cfg"
Alive 30
LogFacility local5 #設定追加
LogLevel 5 #設定追加
<省略>
Syslogの動作確認
対象のサイトにアクセスし、tail等でログが出力されていることを確認します。
# tail -f /var/log/pound.log
<省略>
Dec 20 15:28:30 centos8lb-01 pound[21087]: www.lab-infra.com 61.26.65.179 - - [20/Dec/2020:15:28:29 +0900] "GET / HTTP/1.1" 200 31998 "https://www.lab-infra.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" (- -> 192.168.201.21:8080) 0.167 sec
Dec 20 15:28:30 centos8lb-01 pound[21087]: www.lab-infra.com 61.26.65.179 - - [20/Dec/2020:15:28:30 +0900] "GET /wp-content/themes/luxech/luxech.js?v=1608445709 HTTP/1.1" 200 1106 "https://www.lab-infra.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" (- -> 192.168.201.21:8080) 0.001 sec
Poundの「LogLevel」について
なお、各「LogLevel」の出力内容と、サンプルログは下記となります。
(本ブログサイトにアクセスした際のログです。)
0=ログ出力なし
1=標準ログ
2=拡張ログ(バックエンドサーバを表示)
3=Apacheのようなログ
4="3″と同様ですがホスト名が表示されません
5="3″と同様ですが追加でバックエンドサーバを表示します
「LogLevel 1」
Dec 20 15:22:29 centos8lb-01 pound[20538]: 61.26.65.179 GET / HTTP/1.1 - HTTP/1.1 200 OK
Dec 20 15:22:30 centos8lb-01 pound[20538]: 61.26.65.179 GET /wp-content/themes/luxech/luxech.js?v=1608445349 HTTP/1.1 - HTTP/1.1 200 OK
「LogLevel 2」
Dec 20 15:23:37 centos8lb-01 pound[20676]: 61.26.65.179 GET / HTTP/1.1 - HTTP/1.1 200 OK (www.lab-infra.com/- -> 192.168.201.21:8080) 0.126 sec
Dec 20 15:23:37 centos8lb-01 pound[20676]: 61.26.65.179 GET /wp-content/themes/luxech/luxech.js?v=1608445417 HTTP/1.1 - HTTP/1.1 200 OK (www.lab-infra.com/- -> 192.168.201.21:8080) 0.001 sec
「LogLevel 3」
Dec 20 15:24:00 centos8lb-01 pound[20813]: www.lab-infra.com 61.26.65.179 - - [20/Dec/2020:15:24:00 +0900] "GET / HTTP/1.1" 200 31998 "https://www.lab-infra.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"
Dec 20 15:24:01 centos8lb-01 pound[20813]: www.lab-infra.com 61.26.65.179 - - [20/Dec/2020:15:24:01 +0900] "GET /wp-content/themes/luxech/luxech.js?v=1608445440 HTTP/1.1" 200 1106 "https://www.lab-infra.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"
「LogLevel 4」
Dec 20 15:24:24 centos8lb-01 pound[20950]: 61.26.65.179 - - [20/Dec/2020:15:24:24 +0900] "GET / HTTP/1.1" 200 31998 "https://www.lab-infra.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"
Dec 20 15:24:24 centos8lb-01 pound[20950]: 61.26.65.179 - - [20/Dec/2020:15:24:24 +0900] "GET /wp-content/themes/luxech/luxech.js?v=1608445464 HTTP/1.1" 200 1106 "https://www.lab-infra.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"
「LogLevel 5」
Dec 20 15:24:54 centos8lb-01 pound[21087]: www.lab-infra.com 61.26.65.179 - - [20/Dec/2020:15:24:54 +0900] "GET / HTTP/1.1" 200 31999 "https://www.lab-infra.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" (- -> 192.168.201.21:8080) 0.112 sec
Dec 20 15:24:54 centos8lb-01 pound[21087]: www.lab-infra.com 61.26.65.179 - - [20/Dec/2020:15:24:54 +0900] "GET /wp-content/themes/luxech/luxech.js?v=1608445493 HTTP/1.1" 200 1106 "https://www.lab-infra.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" (- -> 192.168.201.21:8080) 0.001 sec
WebDAVサーバの設定
構成
CentOS8でPoundをリバースプロキシとして動作させています。バックエンドにはWebサーバとWebDAVサーバが混在する環境となります。ブロードバンドルータのWAN側にはグローバルIPを一つしか持たないためFQDNベースで振り分けをします。FQDNの前提として『www.lab-infra.com』と『lab-infra.com』はAレコードで名前解決ができることとします。
FQDNベースの振り分けですが、『www.lab-infra.com:443』でリクエストが行われた場合はWebサーバへ転送します。『lab-infra.com:443』でリクエストが行われた場合はWebDAVサーバへ転送するようにします。
Poundの設定
下記、Poundの設定です。
User "pound"
Group "pound"
Control "/var/lib/pound/pound.cfg"
Alive 30
LogFacility local5
LogLevel 5
ListenHTTPS
Address 192.168.200.12
Port 443
Cert "/etc/pki/tls/certs/www.lab-infra.com.pem"
AddHeader "X-Forwarded-Proto: https"
xHTTP 3 #WebDAVのメソッドをPoundが理解するためにデフォルトの「0」から「3」にする。
End
## WordPress
Service
HeadRequire "Host:.*www.lab-infra.com" #Webサーバ向けのFQDN振り分け条件
BackEnd
Address 192.168.201.21
Port 8080
TimeOut 10
Priority 5
Disabled 0
End
BackEnd
Address 192.168.201.22
Port 8080
TimeOut 10
Priority 5
Disabled 0
End
Session
Type COOKIE
ID "PHPSESSID"
TTL 120
End
End
## WebDAV #以下、すべてWebDAVサーバ用の設定
Service
HeadRequire "Host:.*lab-infra.com" #WebDAVサーバ向けのFQDN振り分け条件
URL "/QNAP-STR/webdav/" #今後ディレクトリ毎にサービスを分割するかもしれないのでパスも振り分け条件に加える
BackEnd
Address 192.168.0.15
Port 10080
TimeOut 30
End
End
動作確認
当方はWebDAVクライアントソフトにWindowsのWinSCPを使っています。WinSCPの設定は下記のとおりです。
WinSCPでWebDAVサーバのディレクトリを指定する場合は、上記の画面の『編集(E)→設定(D)…』を押し、下の画面の箇所で設定します。
今回、Poundの設定でURLの振り分け条件『URL “/QNAP-STR/webdav/"』を設定しているので、本設定を実施しないとWebDAVサーバへ接続できません。
下記の通り正常にWebDAVサーバへ接続できました。
以上、PoundでSyslogを設定する方法、及びバックエンドサーバにWebDAVサーバを設定する方法についてでした。
ディスカッション
コメント一覧
まだ、コメントがありません