Skip to content

Web-server mode #471

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
krizhanovsky opened this issue May 5, 2016 · 1 comment
Open

Web-server mode #471

krizhanovsky opened this issue May 5, 2016 · 1 comment
Milestone

Comments

@krizhanovsky
Copy link
Contributor

krizhanovsky commented May 5, 2016

Web-serve mode must be implemented. The mode can be configured in following way

    srv_group 3rparty { server 198.199.95.78; }
    srv_group heavy { server 198.199.95.78; } # heavy static & dynamic

    vhost natsys {
            proxy_pass 3rdparty;
    }

    vhost tempesta-tech {
        # URI begining with "?" (dynamic content) pass to heavy server group.
        location "?" {
            proxy_pass heavy;
            cache_fulfill; # cache all proxied data
        }
        # All others are processed locally.
        index   index.html;
        root_db /opt/tempesta/db/www_tt.tdb;
    }

    # Virtual hosts
    sched_http_rules {
        match   natsys        host  suffix  "natsys-lab.com";
        match   tempesta-tech     host  suffix  "tempesta-tech.com";
    }

So following tasks must be done:

  1. http scheduler: suffix matching;
  2. virtual host (vhost) logic: so HTTP scheduler must choose vhost (instead of srv_group as present) and vhost must manage HTTP logic for particular srv_group.
  3. location logic;
  4. handling index page (Do we actually need to configure index?);
  5. root_db TDB logic (v0.2) without dynamic eviction. Depends on TDB v0.2 (tdbfs #66, tdbq: full select, insertion and deletion of binary data #279, TDBv0.3: transactions, indexes, durability #516) for Web-content management.

URI path must be converted to local resource path on root_db without arguments. I.e. GET /index.html?v=2.2.1&q=5 shall return 200'th status and index.html as body, arguments ?v=2.2.1&q=5 are just ignored.

Configuration for server PUSH (which resources are linked with another and should be PUSHed) is required.

Sample (default) index page must be developed to show Tempesta "hello world" message at first run.

The site content must be 'locked' the the cache DB, i.e. never evicted #515.

@krizhanovsky krizhanovsky added this to the 0.5.0 Web Server milestone May 5, 2016
@krizhanovsky krizhanovsky self-assigned this May 5, 2016
keshonok added a commit that referenced this issue May 31, 2016
Implement "suffix" operation for string matching. (#495, #471)
@krizhanovsky krizhanovsky modified the milestones: 1.0 Web Operating System, 0.9 Web server Jan 14, 2018
@krizhanovsky
Copy link
Contributor Author

Please note #731 (comment) as the syntax is slightly changed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants