d3f0a50014
Adding support for the octavia listener X-Forwarded-Proto header insertion. A X-Forwarded-Proto header is inserted into the end of request to the backend member. HTTP for the HTTP listener protocol type, HTTPS for the TERMINATED_HTTPS listener protocol type. Adding X-Forwarded-Proto to the list of HTTP headers which are supported. File: octavia/master/octavia/octavia/common/constants.py: SUPPORTED_HTTP_HEADERS = ['X-Forwarded-For', 'X-Forwarded-Port', 'X-Forwarded-Proto'] Adding the lines to the macros.j2 realizing the the http/https insertion to the backend member according to listener protocol type: File: octavia/common/jinja/haproxy/templates/macros.j2 {% if listener.insert_headers.get('X-Forwarded-Proto', 'False').lower() == 'true' %} {% if listener.protocol.lower() == constants.PROTOCOL_HTTP.lower() %} http-request set-header X-Forwarded-Proto http {% elif listener.protocol.lower() == constants.PROTOCOL_TERMINATED_HTTPS.lower() %} http-request set-header X-Forwarded-Proto https {% endif %} {% endif %} Change-Id: Id017bb277eebae98f0441663e41d07b40b6e3e38 Story: 2002173 Task: 20038 |
||
---|---|---|
api-ref/source | ||
bin | ||
devstack | ||
diskimage-create | ||
doc | ||
elements | ||
etc | ||
httpd | ||
octavia | ||
playbooks | ||
releasenotes | ||
specs | ||
specs-tests | ||
tools | ||
zuul.d | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.pylintrc | ||
.stestr.conf | ||
babel.cfg | ||
CONSTITUTION.rst | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
lower-constraints.txt | ||
README.rst | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
TESTING.rst | ||
tox.ini |
Team and repository tags
Octavia
Octavia is an operator-grade open source scalable load balancer for use in large OpenStack deployments. It delivers load balancing services on amphorae and provides centralized command and control. Octavia is currently the reference backend for Neutron LBaaS. In the near future, Octavia is likely to become the standard OpenStack LBaaS API endpoint.
Octavia is distributed under the terms of the Apache License, Version 2.0. The full terms and conditions of this license are detailed in the LICENSE file.
Project resources
Developer documentation for the Octavia project is available at https://docs.openstack.org/octavia/latest/
Release notes for the Octavia project are available at https://docs.openstack.org/releasenotes/octavia/
The project source code repository is located at https://git.openstack.org/cgit/openstack/octavia
Project status, bugs, and requests for feature enhancements are tracked on https://launchpad.net/octavia
For more information on project direction and guiding principles for contributors, please see the CONSTITUTION.rst file in this directory, or specifications in the specs/ sub-directory.
The project roadmap is available at https://wiki.openstack.org/wiki/Octavia/Roadmap