如何使用Openresty和Lua的env变种

时间:2017-09-05 04:17:36

标签: lua openresty

我正在尝试使用Lua使用Openresty的环境变量:

worker_processes auto;
events { worker_connections 1024; }

env API_USERS;
env API_ROLESTECHS;

http{
  server {
    set_by_lua $api_users 'return os.getenv("API_USERS")';
    set_by_lua $api_rolestechs 'return os.getenv("API_ROLESTECHS")';
    listen 80;
    location / {
      root /usr/local/openresty/nginx/html;
    }
    rewrite ^/users/(.*)$ $api_users:8080/$1;
    rewrite ^/rolestechs/(.*)$ $api_rolestechs:1323/$1;
  }
}

我基本上是在说:

  • 如果网址与以下正则表达式不匹配,请转到html文件夹并提供静态文件。
  • 否则,使用env vars重写传入的URI。

以下配置工作正常,但URL(myurlusers和myurlrolestechs)是硬编码的:

worker_processes auto;
events { worker_connections 1024; }

http{
  server {
    listen 80;
    location / {
      root /usr/local/openresty/nginx/html;
    }

    rewrite ^/users/(.*)$ http://myurlusers:8080/$1;
    rewrite ^/rolestechs/(.*)$ http://myurlrolestechs:1323/$1;
  }
}

API_USERS和API_ROLESTECH是运行Openresty主机的环境变量。

我错过了什么?

0 个答案:

没有答案