ARTEMIS-3915 Support PROXY Protocol

This commit implements support the PROXY protocol so that the broker
will be able to determine a client's original IP address despite the
client's connection coming through a reverse proxy (e.g. HAProxy,
ngingx, etc.). Changes include:

 - A new Netty handler to extract relevant details out of PROXY Protocol
   messages and make them available to the broker
 - A new Netty handler to enforce the acceptor's PROXY Protocol config
 - A new chapter in the user manual
 - Updated logging to use this new data
 - Expose this new data via management
 - Disambiguate some variables names related to SOCKS proxy support
 - Embedded Netty-based PROXY server implementation for testing
28 files changed
tree: ebd849b04e3a79185f39582a3c1ab871f5f7770b
  1. .github/
  2. .settings/
  3. artemis-bom/
  4. artemis-boot/
  5. artemis-cdi-client/
  6. artemis-cli/
  7. artemis-commons/
  8. artemis-console/
  9. artemis-core-client/
  10. artemis-core-client-all/
  11. artemis-core-client-osgi/
  12. artemis-distribution/
  13. artemis-docker/
  14. artemis-dto/
  15. artemis-features/
  16. artemis-image/
  17. artemis-jakarta-cdi-client/
  18. artemis-jakarta-client/
  19. artemis-jakarta-client-all/
  20. artemis-jakarta-ra/
  21. artemis-jakarta-server/
  22. artemis-jakarta-service-extensions/
  23. artemis-jdbc-store/
  24. artemis-jms-client/
  25. artemis-jms-client-all/
  26. artemis-jms-client-osgi/
  27. artemis-jms-server/
  28. artemis-journal/
  29. artemis-junit/
  30. artemis-lockmanager/
  31. artemis-log-annotation-processor/
  32. artemis-maven-plugin/
  33. artemis-pom/
  34. artemis-protocols/
  35. artemis-ra/
  36. artemis-selector/
  37. artemis-server/
  38. artemis-server-osgi/
  39. artemis-service-extensions/
  40. artemis-unit-test-support/
  41. artemis-web/
  42. artemis-website/
  43. docs/
  44. etc/
  45. scripts/
  46. tests/
  47. .asf.yaml
  48. .gitignore
  49. .project
  50. artemis_doap.rdf
  51. LICENSE
  52. NOTICE
  53. pom.xml
  54. README.md
  55. RELEASING.adoc
README.md

Welcome to Apache ActiveMQ Artemis

ActiveMQ Artemis is the next generation message broker from Apache ActiveMQ.

Get Started

See the User Manual for an in-depth explanation of all aspects of broker configuration and behavior.

The ActiveMQ Artemis Examples repository contains over 90 examples demonstrating many of the client and broker features.

Build from Source

See the Hacking Guide for details about modifying the code, building the project, running tests, etc.

Download a Release

ActiveMQ Artemis releases are available on the Apache ActiveMQ website. We do not distribute releases via GitHub.

Migrate from ActiveMQ Classic

See the Migration Guide for information about the architectural and configuration differences between ActiveMQ Classic and ActiveMQ Artemis.

Report an Issue

See our website for details on how to report an bug, request a feature, etc.

Contact the Community

Get in touch with folks in the community using an official Apache mailing list or the Apache Slack instance. Details are available on the Apache ActiveMQ website.