Load Balancing as a Service (LBaaS) for OpenStack
Go to file
Rafal Pietrzak d3f0a50014 Adding support for the octavia listener X-Forwarded-Proto header insertion.
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
2018-06-19 09:55:36 +02:00
api-ref/source Adding support for the octavia listener X-Forwarded-Proto header insertion. 2018-06-19 09:55:36 +02:00
bin Two quick fixes (one log message, one cert create script thing) 2017-05-09 11:37:40 -04:00
devstack Octavia devstack plugin API mode 2018-05-30 09:48:16 +03:00
diskimage-create Add raw format support to image creator script. 2018-05-14 17:48:37 +03:00
doc Adding support for the octavia listener X-Forwarded-Proto header insertion. 2018-06-19 09:55:36 +02:00
elements Update HAProxy version for Centos 2018-05-07 18:57:34 +00:00
etc Implement provider drivers - Cleanup 2018-06-04 19:34:42 -07:00
httpd Run Octavia API in a WSGI server 2017-04-30 08:36:44 +00:00
octavia Adding support for the octavia listener X-Forwarded-Proto header insertion. 2018-06-19 09:55:36 +02:00
playbooks Fix periodic job 2018-05-08 07:25:35 -07:00
releasenotes Adding support for the octavia listener X-Forwarded-Proto header insertion. 2018-06-19 09:55:36 +02:00
specs Providers: propose changes to API 2018-06-05 04:32:23 +00:00
specs-tests Update tox 'docs' environment to test specs 2016-09-08 15:18:43 -07:00
tools Fix amp failover where failover already failed 2018-06-05 14:10:00 -07:00
zuul.d Add Octavia v2 tempest plugin jobs to Octavia 2018-04-17 14:36:05 -07:00
.coveragerc Update .coveragerc after the removal of openstack directory 2016-10-17 17:11:16 +05:30
.gitignore Merge "Add api-ref for amphora failover" 2018-01-13 01:59:24 +00:00
.gitreview Update .gitreview file for project rename 2015-06-12 23:12:30 +00:00
.pylintrc Support pylint 2017-10-16 09:32:41 +08:00
.stestr.conf Gatefix: Migrate from testr to stestr 2017-09-13 17:12:21 +00:00
babel.cfg Setup translation for octavia 2016-12-15 00:48:02 +00:00
CONSTITUTION.rst Update the documentation link for doc migration 2017-09-22 00:45:56 +00:00
CONTRIBUTING.rst Update links in CONTRIBUTING.rst 2017-09-20 05:24:21 +00:00
HACKING.rst Update the documentation link for doc migration 2017-09-22 00:45:56 +00:00
LICENSE Populate repository with common initial files 2014-07-02 20:30:14 -07:00
lower-constraints.txt Fix lower-constraints to actually match our reqs 2018-04-21 01:17:37 -07:00
README.rst Merge "Trivial: Update pypi url to new url" 2018-05-27 10:00:57 +00:00
requirements.txt Allow DB retries on controller_worker creates 2018-06-01 09:02:04 +00:00
setup.cfg Implement provider drivers - Load Balancer 2018-05-22 17:26:08 -07:00
setup.py Updated from global requirements 2017-03-02 11:50:57 +00:00
test-requirements.txt Updated from global requirements 2018-03-23 01:26:24 +00:00
TESTING.rst Introduce TESTING.rst for quick developer reference 2017-04-07 21:48:31 +00:00
tox.ini Fix requirements gate + add local tox profile 2018-05-31 12:22:56 -07:00

Team and repository tags

image

Octavia

Latest Version

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