From c1fa22d9b0c74964bf4171c42bbd7ec685ef9202 Mon Sep 17 00:00:00 2001 From: Quentin Machu Date: Wed, 4 Nov 2015 14:56:18 -0500 Subject: [PATCH] Define nginx v2 vhost & properly set 404 status code Fixes #777 --- conf/server-base.conf | 28 +++++++++++++++++++++------- endpoints/web.py | 11 ++++++----- 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/conf/server-base.conf b/conf/server-base.conf index 05b66d180..5aa526f14 100644 --- a/conf/server-base.conf +++ b/conf/server-base.conf @@ -63,6 +63,27 @@ location /v1/ { client_max_body_size 20G; } +location /v1/_ping { + add_header Content-Type text/plain; + add_header X-Docker-Registry-Version 0.6.0; + add_header X-Docker-Registry-Standalone 0; + return 200 'true'; +} + +location /v2/ { + proxy_buffering off; + + proxy_request_buffering off; + + proxy_http_version 1.1; + proxy_set_header Connection ""; + + proxy_pass http://registry_app_server; + proxy_temp_path /tmp 1 2; + + client_max_body_size 20G; +} + location /c1/ { proxy_buffering off; @@ -80,13 +101,6 @@ location /static/ { error_page 404 /404; } -location /v1/_ping { - add_header Content-Type text/plain; - add_header X-Docker-Registry-Version 0.6.0; - add_header X-Docker-Registry-Standalone 0; - return 200 'true'; -} - location ~ ^/b1/controller(/?)(.*) { proxy_pass http://build_manager_controller_server/$2; } diff --git a/endpoints/web.py b/endpoints/web.py index da8ad2f05..4f0d0614a 100644 --- a/endpoints/web.py +++ b/endpoints/web.py @@ -58,11 +58,12 @@ def index(path, **kwargs): def internal_error_display(): return render_page_template('500.html') -#TODO: reenable once fixed -#@web.errorhandler(404) -#@web.route('/404', methods=['GET']) -#def not_found_error_display(e = None): -# return render_page_template('404.html') +@web.errorhandler(404) +@web.route('/404', methods=['GET']) +def not_found_error_display(e = None): + resp = render_page_template('404.html') + resp.status_code = 404 + return resp @web.route('/organization/', methods=['GET']) @no_cache