Termék áttekintés
Egy szerver a hálózat és az alkalmazásod között.
Webship egy saját hostolt Rust edge és statikus web szerver. Egy futtatókörnyezet modern protokollokat kezel, alkalmazza az edge szabályzatot, fájlokat szolgál ki, és proxyként működik az alkalmazás kéréseihez.
Modern adatátvitel
Fogadja el a HTTP/1.1, HTTP/2 és HTTP/3 értékeket, TLS 1.3-vel és egy opcionális WebTransport végponttal.
Statikus és proxizott kiszolgálás
Statikus fájlok kiszolgálása érvényesítőkkel és előre tömörített mellékszoftverekkel, vagy az alkalmazásforgalom proxizása korlátos upstream poolokon keresztül.
Biztonságos alapértelmezett beállítások
Kezdje a WAF, DDoS-vezérlés, bot kihívás, válaszbiztonsági fejlécek, API Shield és pontfájl-védelem engedélyezésével.
Megfigyelhető műveletek
Használjon hitelesített statisztikákat, Prometheus-mutatókat, kérések azonosítóit, fokozatos újratöltéseket és az opcionális MCP vezérlési síkot.
Gyors kezdés
A kiadott bináristól az egészséges hallgatóig.
Indítás loopback-en, mindent ellenőrizzen a kötés előtt, és ellenőrizze a beépített egészségválaszt, mielőtt nyilvános forgalmat adna hozzá.
Fájlok előkészítése
Helyezze el a kiadott bináris fájlt, annak TOML konfigurációját, a statikus gyökérkönyvtárat, valamint bármely beállított TLS tanúsítványt és kulcsfájlt a gazdagépen.
Érvényesítés és ellenőrzés
Futtassa mindkét konfigurációs parancsot. Javítsa az első hibát, és ellenőrizze a szűrt hatékony eredményt az indítás előtt.
Indítás privát módban
Indítsa el a Webship-t a kiválasztott TOML fájl segítségével. Adjon hozzá egy teljes tanúsítványpárost, vagy használjon automatikus TLS-t, amikor az oldal készen áll a biztonságos nyilvános forgalomra.
Ellenőrizze a futási környezetet
Hívja a GET /health-t helyben. Ezután tesztelje a statikus útvonalakat, TLS-t, proxy útvonalakat, biztonsági szabályokat és az autentikált monitorozást.
listen = "127.0.0.1:4433"
workers = 4
root = "./public"/usr/local/bin/webship --check-config --config /etc/webship/production.toml
/usr/local/bin/webship --print-effective-config --config /etc/webship/production.toml/usr/local/bin/webship --config /etc/webship/production.toml
curl --http3-only --insecure https://127.0.0.1:4433/healthGyors indítási útmutató AI ügynökök számára
Csatlakoztass egy AI ágenst Webship-hoz öt sorban.
Csatlakoztassa a Claude Code-ot, OpenAI-t, DeepSeek-et vagy bármely kompatibilis MCP klienst egy privát SSH alagúton keresztül. Az ügynök egy hitelesített működési felületet kap anélkül, hogy megosztaná a nyilvános hallgatót vagy kiteszi az irányító hitelesítő adatokat az internetes forgalomnak.
{
"mcpServers": {
"webship": { "url": "https://localhost:19443/mcp",
"headers": { "Authorization": "Bearer <token>" } }
} }Statikus kiszolgálás
Szolgáltasson egy könyvtárat protokollismerő alapértékekkel.
Állítson be egy gyökérkönyvtárat globálisan vagy oldalanként. A TLS oldalak alapértelmezés szerint csak HTTP/3-t használnak; a tiszta szöveges oldalak alapértelmezettje HTTP/1.1 és H2C. Felülírhatja a HTTP/1.1, HTTP/2 és HTTP/3 beállításokat minden oldalon külön-külön.
[[sites]]
domain = "app.example.com"
root = "/srv/app"
listen = "0.0.0.0:443"
[sites.protocols]
h1 = true
h2 = true
h3 = trueA beépített útválasztó támogatja a GET és HEAD kéréseket, a bájttartományokat, a feltételes kéréseket, a validátorokat, valamint a .br, .zst és .gz kiegészítő fájlokat. A ponttal kezdődő fájlútvonalak alapértelmezetten elutasításra kerülnek; a .well-known továbbra is elérhető marad.
Alkalmazásforgalom
Irányítsa a kéréseket egy vagy több upstreamhez.
Engedélyezze a visszairányító proxyt, egyeztesse a hosztot és az elérési utat, majd határozzon meg egy végső feltétel nélküli házirendet. A Webship támogatja a korlátozott medencéket, az egészségellenőrzéseket, a terheléselosztást, az áramkör-megszakítókat, a biztonságos, test nélküli újrapróbálkozásokat, a WebSocketeket és a gyorsítótárazást.
[reverse_proxy]
enabled = true
[[reverse_proxy.routes]]
domain = "app.example.com"
path_prefix = "/api"
strip_path_prefix = true
upstreams = ["127.0.0.1:8080", "127.0.0.1:8081"]
[[reverse_proxy.policies]]
name = "default"
hosts = []
path_prefixes = ["/"]
methods = []
max_body_bytes = 1048576
total_timeout_ms = 30000TLS és HTTP/3
Használjon kézi tanúsítványokat, vagy hagyja, hogy Webship kezelje azokat.
A Webship elfogadja a TLS 1.3-t. A HTTP/3 a megfelelő UDP hallgató felett fut; engedélyezze kifejezetten a HTTP/1.1-t vagy HTTP/2-t, amikor egy TLS oldal TCP kompatibilitást is igényel.
listen = "0.0.0.0:443"
[automatic_tls]
enabled = true
directory_url = "https://acme-v02.api.letsencrypt.org/directory"
cache_dir = "/var/lib/webship/acme"
contacts = ["mailto:ops@example.com"]
accept_terms_of_service = true
[[sites]]
domain = "app.example.com"
root = "/srv/app"Szélei irányelv
Őrizze meg a biztonságos alapbeállítást.
Webship alapértelmezés szerint engedélyezi fő védelmi rétegeit. Állítsa be a korlátokat a munkaterheléshez, és ellenőrizze minden szabály- vagy fejléc-politika változás után.
[ddos]
enabled = true
mode = "normal"
requests_per_minute = 600
burst = 100
block_seconds = 300
[security.response_headers]
enabled = true
nosniff = true
frame_deny = true
referrer_no_referrer = true
hsts = "max-age=31536000; includeSubDomains"
content_security_policy = "default-src 'self'; frame-ancestors 'none'"Használja a normál módot a szokásos forgalomhoz, az under_attack módot a szigorúbb aktív támadás kezeléshez, és a lockdown módot, amikor csak próba kérések és kifejezetten engedélyezett útvonalak legyenek elérhetők.
Privát diagnosztika
Vizsgálja az edge-t anélkül, hogy felfedné a vezérlő síkot.
A statisztikák és a Prometheus metrikák külön hitelesített hallgatón futnak. Az instrumentációt mindig engedélyezni kell, amikor bármelyik végpont aktív.
[observability]
instrumentation = true
stats = true
metrics = true
listen = "127.0.0.1:9090"
token = "replace-with-at-least-32-random-printable-ascii-characters"Biztonságos műveletek
Töltse újra szándékosan. Tartsa közel a visszaállítást.
Konfiguráció újratöltése
SIGHUP küldése fájl-alapú konfiguráció szerkesztése után. Webship ellenőrzi a cserét telepítés előtt, és megtartja a futó konfigurációt, ha az ellenőrzés sikertelen.
Frissítés és visszagörgetés
Telepítse az új binárist a korábbi verzió mellé, ellenőrizze a termelési konfigurációt vele, majd ellenőrizze az egészséget, TLS-t, proxyzást és a metrikákat. Tartsa meg a korábbi binárist, amíg minden ellenőrző pont át nem megy.
kill -HUP "$(pidof webship)"
/usr/local/bin/webship update --config /etc/webship/production.toml
sudo systemctl daemon-reload
sudo systemctl enable --now webship
sudo systemctl status webshipProfil-vezérelt optimalizáció
Gyűjtsön cél-őshonos profilokat anélkül, hogy összekeverné a képzést és a termelést.
Minden Webship 1.1 célpontnak külön instrumentált CLI-je van a célpont-specifikus LLVM profiladatok gyűjtésére a képviselő forgalmad alatt. Használd a pontos verziót és céltriple-t, teszteld a fontos útvonalakat és protokollokat, és állítsd le a folyamatot ésszerű módon, hogy minden .profraw fájl kiírásra kerüljön.
Válassza ki a pontos célt
Töltse le a PGO képzési CLI-t, amelynek kiadási verziója és Rust céltriplája pontosan megegyezik azzal a környezettel, amelyet optimalizálni kíván. Először ellenőrizze a közzétett SHA-256-ot.
Rögzítsen reprezentatív forgalmat
Állítsd az LLVM_PROFILE_FILE-t írható könyvtárra, indítsd el a tréning CLI-t egy ellenőrzött, valós konfigurációs példánnyal, játssz le reprezentatív közvetlen és fordított proxy forgalmat, majd állítsd le Webship-t ésszerű módon.
Egyesítse a nyers profilokat
Használja a kiadásra készült fordító által generált llvm-profdata-t. Egyesítse az összes kibocsátott .profraw fájlt egyetlen sparse webship.profdata fájlba.
Újraépítés és ellenőrzés
Alkalmazza az egyesített profilt csak azokra a pontos forrásokra, fordítóra, kriptográfiai szolgáltatóra, funkciókészletre és célra, amelyek létrehozták azt. Futtassa a helyességi és teljesítményellenőrzéseket a promóció előtt.
mkdir -p ./profiles
export LLVM_PROFILE_FILE="$PWD/profiles/webship-%p-%m.profraw"
./webship-pgo-training-1.1.0-<target> --config ./webship.tomlNew-Item -ItemType Directory -Force ./profiles
$env:LLVM_PROFILE_FILE = "$PWD/profiles/webship-%p-%m.profraw"
.\webship-pgo-training-1.1.0-<target>.exe --config .\webship.tomlllvm-profdata merge -sparse ./profiles/*.profraw -o ./webship.profdataParancssori hivatkozás
Kis felület, explict indítás.
webship [OPTIONS] | webship update [OPTIONS]
-c, --config PATH- Válassza ki a TOML fájlt. Ha az nem létezik, Webship létrehozza egy privát localhost TLS azonosítóval.
--check-config- Érvényesítse a teljes konfigurációt, és lépjen ki anélkül, hogy elindítaná a hallgatókat.
--print-effective-config- Nyomtassa ki az egyesített érvényes konfigurációt a titkok eltávolításával.
frissítés- Ellenőrizze az aláírt közösségi manifesztumot, válassza ki ezt a pontos platformcélt, és telepítsen egy újabb verziót, ha van.
--help / --version- Nyomtassa ki a parancs súgót vagy az telepített Webship verzióját.
Gyakori hibamódok
Kezdje a konfigurációval, majd haladjon kifelé.
- Futtassa a --check-config parancsot, és javítsa az első jelentett hibát; az ismeretlen TOML mezők elutasításra kerülnek.
- Ellenőrizze, hogy a konfigurált TCP és UDP portok elérhetők és a tűzfal által engedélyezettek legyenek.
- Ellenőrizze, hogy a tanúsítvány és a kulcs létezik-e, olvasható-e a szolgáltatásfiók számára, és egymáshoz illő párt alkotnak.
- Az automatikus TLS esetén ellenőrizze, hogy minden konfigurált domain a Webship hosztra oldódik.
- Hívja meg a /health útvonalat a helyi alkalmazás hallgatóján keresztül, mielőtt DNS-en vagy külső terhelési úton tesztelne.
- Ideiglenesen engedélyezze az hitelesített megfigyelhetőséget, amikor futásidejű bizonyíték szükséges.