From 6be48e1015bc20005ed31f8b857842a59e1c9dfa Mon Sep 17 00:00:00 2001 From: HuabingZhao Date: Mon, 19 Sep 2016 15:57:16 +0800 Subject: Add scripts for external API gateway Change-Id: Ice85f6277d0a0d54e00c60a08c687b4ba6b22183 Signed-off-by: HuabingZhao --- .../openresty/nginx/sites-enabled/openomsb.conf | 172 +++++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 msb-core/eag-openresty-ext/src/assembly/resources/openresty/nginx/sites-enabled/openomsb.conf (limited to 'msb-core/eag-openresty-ext/src/assembly/resources/openresty/nginx/sites-enabled/openomsb.conf') diff --git a/msb-core/eag-openresty-ext/src/assembly/resources/openresty/nginx/sites-enabled/openomsb.conf b/msb-core/eag-openresty-ext/src/assembly/resources/openresty/nginx/sites-enabled/openomsb.conf new file mode 100644 index 0000000..eadf6c0 --- /dev/null +++ b/msb-core/eag-openresty-ext/src/assembly/resources/openresty/nginx/sites-enabled/openomsb.conf @@ -0,0 +1,172 @@ +# +# Copyright 2016 2015-2016 ZTE, Inc. and others. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Author: Zhaoxing Meng +# email: meng.zhaoxing1@zte.com.cn +# + +server { + listen 8080; + default_type text/html; + add_header X-Cache-Status $upstream_cache_status; + + location = / { + rewrite ^ /openoui/microservices/index.html redirect; + } + + location = /openoui/microservices { + rewrite /openoui/microservices /openoui/microservices/index.html redirect; + } + + location / { + set $server "fallback"; + set $url ""; + set $key ""; + + # Lua files + rewrite_by_lua_file luaext/customrouter.lua; + access_by_lua_file luaext/execute_auth.lua; + + proxy_pass http://$server; + } + location ~ ^/api/(.*) { + rewrite ^/api/(.*) /openoapi/$1 last; + } + location ~ ^/iui/(.*) { + rewrite ^/iui/(.*) /openoui/$1 last; + } + + location ^~ /openoapi/driver_vmware_vcloud/v1 { + set $backend ""; + # Lua files + access_by_lua_block { + local driver_manager = require('plugins.driver_manager') + driver_manager.access() + } + proxy_pass http://$backend; + } + location ~ ^/openoapi/([^/]+)(/[Vv][^/]*)?(.*) { + set $apiname $1; + set $apiversion $2; + set $apiserver "fallback"; + set $apiurl ""; + + # Lua files + rewrite_by_lua_file luaext/openoapirouter.lua; + access_by_lua_file luaext/execute_auth.lua; + + proxy_pass http://$apiserver; + } + + location ~ ^/openoui/([^/]+)(.*) { + location ~* ^/iui/([^/]+)(.*)\.(?:png|jpg|jpeg|js|css|html|gif|ico|bmp|woff)$ { + set $iuiname $1; + set $iuiparam $2; + set $iuiserver "fallback"; + set $iuiurl ""; + + # Lua files + rewrite_by_lua_file luaext/openouirouter.lua; + access_by_lua_file luaext/execute_auth.lua; + + proxy_cache nginx_cache; + proxy_cache_key $host$uri$is_args$args; + proxy_cache_valid 200 304 12h ; + proxy_cache_valid 301 302 1m ; + proxy_cache_valid any 1m ; + expires 12h; + + proxy_pass http://$iuiserver; + } + set $iuiname $1; + set $iuiparam $2; + set $iuiserver "fallback"; + set $iuiurl ""; + + # Lua files + rewrite_by_lua_file luaext/openouirouter.lua; + access_by_lua_file luaext/execute_auth.lua; + + proxy_pass http://$iuiserver; + } + + location ~ ^/admin/([^/]+)(/[Vv][^/]*)?(.*) { + set $apiname $1; + set $apiversion $2; + set $apiserver "fallback"; + set $adminurl ""; + + # Lua files + rewrite_by_lua_file luaext/openoadminrouter.lua; + access_by_lua_file luaext/execute_auth.lua; + + proxy_pass http://$apiserver; + } + + location ~ ^/apijson/([^/]+)(/[Vv][^/]*)?(.*) { + location ~* ^/apijson/([^/]+)(/[v][^/]*)?(.*)\.(?:png|jpg|jpeg|js|css|html|gif|ico|bmp|woff)$ { + set $apiname $1; + set $apiversion $2; + set $apiserver "fallback"; + set $apijsonurl ""; + + # Lua files + rewrite_by_lua_file luaext/openoapijsonrouter.lua; + access_by_lua_file luaext/execute_auth.lua; + + proxy_cache nginx_cache; + proxy_cache_key $host$uri$is_args$args; + proxy_cache_valid 200 304 12h ; + proxy_cache_valid 301 302 1m ; + proxy_cache_valid any 1m ; + expires 12h; + + proxy_pass http://$apiserver; + } + set $apiname $1; + set $apiversion $2; + set $apiserver "fallback"; + set $apijsonurl ""; + + # Lua files + rewrite_by_lua_file luaext/openoapijsonrouter.lua; + access_by_lua_file luaext/execute_auth.lua; + + proxy_pass http://$apiserver; + } + + location ~* \.(?:png|jpg|jpeg|js|css|html|gif|ico|bmp|woff)$ { + set $server "fallback"; + set $url ""; + set $key ""; + + # Lua files + rewrite_by_lua_file luaext/customrouter.lua; + access_by_lua_file luaext/execute_auth.lua; + + proxy_cache nginx_cache; + proxy_cache_key $host$uri$is_args$args; + proxy_cache_valid 200 304 12h ; + proxy_cache_valid 301 302 1m ; + proxy_cache_valid any 1m ; + expires 12h; + + proxy_pass http://$server; + } + + location = /favicon.ico { + log_not_found off; + } +} \ No newline at end of file -- cgit 1.2.3-korg