跳到主內容

【Lua】使用map 做全域變數

http {
    map $server_name $redis_server {
        default 10.10.10.1;
        example.com 10.10.10.2;  # 每個 server_name 可以有自己的 redis 伺服器
        example.org 10.10.10.3;
        # 添加更多的 server_name 和對應的 redis 伺服器
    }

    server {
    	listen 80 backlog=16384;
        server_name  example.com;
        charset UTF-8;
    
    	# $redis_server 10.10.10.2 
        set $REDIS_SERVER $redis_server;
        lua_need_request_body on;
        add_header X-Content-Length $response_body_size always;

        # 其他設定...
    }

     server {
    	listen 80 backlog=16384;
        server_name  example.org;
        charset UTF-8;
    
    	# $redis_server 10.10.10.3
        set $REDIS_SERVER $redis_server;
        lua_need_request_body on;
        add_header X-Content-Length $response_body_size always;

        # 其他設定...
    }
  
    server {
    	listen 80 backlog=16384;
        server_name  test.com;
        charset UTF-8;
    
    	# $redis_server 走預設 10.10.10.1
        set $REDIS_SERVER $redis_server;
        lua_need_request_body on;
        add_header X-Content-Length $response_body_size always;

        # 其他設定...
    }
    # 其他 server 區塊...
}

a