Initial commit: mod_reqin_log Apache module
Features: - JSON logging of HTTP requests to Unix domain socket - Configurable HTTP headers logging (flat JSON structure) - Header value truncation and count limits - Automatic reconnect on socket disconnection - Error reporting with throttling Configuration directives: - JsonSockLogEnabled: Enable/disable logging - JsonSockLogSocket: Unix socket path - JsonSockLogHeaders: List of headers to log - JsonSockLogMaxHeaders: Maximum headers to log - JsonSockLogMaxHeaderValueLen: Max header value length - JsonSockLogReconnectInterval: Reconnect delay - JsonSockLogErrorReportInterval: Error log throttle Includes: - Module source code (src/) - Unit and integration tests (tests/, scripts/) - Documentation (README.md, architecture.yml) - Build configuration (CMakeLists.txt, Makefile) - Packaging (deb/rpm) Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
40
Dockerfile.test-socket
Normal file
40
Dockerfile.test-socket
Normal file
@ -0,0 +1,40 @@
|
||||
# Dockerfile for running Unix socket integration tests
|
||||
FROM rockylinux:8
|
||||
|
||||
# Install dependencies
|
||||
RUN dnf install -y epel-release && \
|
||||
dnf install -y \
|
||||
gcc \
|
||||
make \
|
||||
httpd \
|
||||
httpd-devel \
|
||||
apr-devel \
|
||||
apr-util-devel \
|
||||
python3 \
|
||||
curl \
|
||||
redhat-rpm-config \
|
||||
&& dnf clean all
|
||||
|
||||
# Copy module source
|
||||
COPY src/ src/
|
||||
COPY Makefile Makefile
|
||||
COPY conf/ conf/
|
||||
|
||||
# Build the module
|
||||
RUN make APXS=/usr/bin/apxs
|
||||
|
||||
# Copy test scripts
|
||||
COPY scripts/test_unix_socket.sh /test_unix_socket.sh
|
||||
COPY scripts/socket_listener.py /build/scripts/socket_listener.py
|
||||
RUN chmod +x /test_unix_socket.sh
|
||||
RUN mkdir -p /build/scripts
|
||||
|
||||
# Create document root
|
||||
RUN mkdir -p /var/www/html
|
||||
RUN echo "<html><body><h1>Test</h1></body></html>" > /var/www/html/index.html
|
||||
|
||||
# Set working directory
|
||||
WORKDIR /build
|
||||
|
||||
# Run the test
|
||||
CMD ["/test_unix_socket.sh"]
|
||||
Reference in New Issue
Block a user