Кто-нибудь знает, где haproxy записывает журналы на mac osx? Я хочу зарегистрировать безопасные куки, идущие на мой бэкэнд, используя capture cookie _secure len 32
.haproxy logging on mac osx
Я проверил Console.app, но журналы там не отображаются.
Кто-нибудь знает, где haproxy записывает журналы на mac osx? Я хочу зарегистрировать безопасные куки, идущие на мой бэкэнд, используя capture cookie _secure len 32
.haproxy logging on mac osx
Я проверил Console.app, но журналы там не отображаются.
HAProxy регистрируется в syslog, поэтому вы были прав, чтобы проверить Console.app, чтобы просмотреть результат.
Проблема в том, что на OSX вам сначала нужно настроить syslog, чтобы включить его сетевой прослушиватель.
Вот инструкции, которые работали для меня [source]:
HA Proxy Logging on Lion
-------------------------
# To enable haproxy logging we need to change syslogd
# startup procedure to include its network listener.
# Backup syslogd start up file
sudo cp /System/Library/LaunchDaemons/com.apple.syslogd.plist /System/Library/LaunchDaemons/com.apple.syslogd.plist.bakup
# Convert binary file to xml to be human readable/editable
sudo plutil -convert xml1 /System/Library/LaunchDaemons/com.apple.syslogd.plist
# Edit /System/Library/LaunchDaemons/com.apple.syslogd.plist
# and add the following snippet under the sockets node
<key>NetworkListener</key>
<dict>
<key>SockServiceName</key>
<string>syslog</string>
<key>SockType</key>
<string>dgram</string>
</dict>
# Should read like this now
<key>Sockets</key>
<dict>
<key>AppleSystemLogger</key>
<dict>
<key>SockPathMode</key>
<integer>438</integer>
<key>SockPathName</key>
<string>/var/run/asl_input</string>
</dict>
<key>BSDSystemLogger</key>
<dict>
<key>SockPathMode</key>
<integer>438</integer>
<key>SockPathName</key>
<string>/var/run/syslog</string>
<key>SockType</key>
<string>dgram</string>
</dict>
<key>NetworkListener</key>
<dict>
<key>SockServiceName</key>
<string>syslog</string>
<key>SockType</key>
<string>dgram</string>
</dict>
</dict>
# Save the file
# Convert back to binary file
sudo plutil -convert binary1 /System/Library/LaunchDaemons/com.apple.syslogd.plist
# Restart syslogd
sudo launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist
# I added the following entry to /etc/syslog.conf
local2.* /var/log/haproxy.log
# Include logging options in haproxy.cfg
global
log 127.0.0.1 local2 debug
defaults
mode http
option httplog
log global
# Restart HAproxy
Используйте dtruss на haproxy, чтобы увидеть, где они написаны. Вы должны видеть, что системные вызовы ввода-вывода ввода поступают во время просмотра.
Еще лучше, это с открытым исходным кодом. Просто посмотрите на код.
Видя, как я не могу комментировать (бух, репутация) Я хотел бы добавить следующее alanning:
В случае вы используете OS X 10.11+ (El Capitan или новее) и не можете скопировать файл plist (даже с помощью sudo), вы можете столкнуться с новой Системной Integrity Protection от Apple.
Чтобы отключить SIP:
csrutil disable
Настоятельно рекомендуется повторно включить SIP, выполнив те же шаги, но используя csrutil enable
на шаге 3.
Ссылка: