diff options
author | 2016-09-19 15:57:16 +0800 | |
---|---|---|
committer | 2016-09-19 15:57:16 +0800 | |
commit | 6be48e1015bc20005ed31f8b857842a59e1c9dfa (patch) | |
tree | e95214c0e5e570b3399938d6eb938b9ea0f1bf2a /msb-core/eag-openresty-ext/src/assembly/resources/openresty | |
parent | 185f8b203942067d02c4b28df91e95ab1d9bc6eb (diff) |
Add scripts for external API gateway
Change-Id: Ice85f6277d0a0d54e00c60a08c687b4ba6b22183
Signed-off-by: HuabingZhao <zhao.huabing@zte.com.cn>
Diffstat (limited to 'msb-core/eag-openresty-ext/src/assembly/resources/openresty')
2 files changed, 198 insertions, 0 deletions
diff --git a/msb-core/eag-openresty-ext/src/assembly/resources/openresty/nginx/luaext/msbconf.lua b/msb-core/eag-openresty-ext/src/assembly/resources/openresty/nginx/luaext/msbconf.lua new file mode 100644 index 0000000..4e820f5 --- /dev/null +++ b/msb-core/eag-openresty-ext/src/assembly/resources/openresty/nginx/luaext/msbconf.lua @@ -0,0 +1,26 @@ +--[[ + + 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 + +]] +local _M = {} +_M._VERSION = '1.0.0' + +return { + auth_plugin_status = "on" +}
\ No newline at end of file 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 |