ร้านเปิดให้สั่งแล้ว

เราสร้างเครื่อง Workstation AI สำหรับเว็บไซต์ เอเจนต์ AI และการเทรน LLM — กำหนดค่าและซื้อออนไลน์

เข้าสู่ร้าน
ผลิตภัณฑ์ AI
AI LabsOpenAI AgentsClaude AgentsGrok BotCRM พื้นฐานของ Workstation AIการตลาดผลิตภัณฑ์ทั้งหมด
โซลูชัน AI
AI ประยุกต์เอเจนต์ AIAI เชิงสร้างระบบอัตโนมัติด้วย AIยกระดับทักษะ AIแพ็กเกจ AI สำหรับ SMEห้องปฏิบัติการ AI สำหรับองค์กรเวิร์กสเตชัน AIฮาร์ดแวร์และซอฟต์แวร์ NVIDIAAI ส่วนตัวคลัสเตอร์ GPUEdge AIAI ตามอุตสาหกรรม
บริการ AI
ปรับปรุงแพลตฟอร์มให้ทันสมัยวิศวกรรมดิจิทัลรากฐานข้อมูลและ AIการปฏิบัติงานอัตโนมัติที่ปรึกษา AIระบบอัตโนมัติ DevOpsความมั่นคงปลอดภัยไซเบอร์การพัฒนาซอฟต์แวร์การสร้างเอเจนต์การตั้งค่า MLOps
เกี่ยวกับเรา
เรื่องราวของเราพันธมิตรเรื่องราวของลูกค้า
ข้อมูลเชิงลึก AIชุด Jevแล็บเบนช์มาร์กการเลือกโมเดล
บทความ
เอกสารประกอบ
เครื่องมือWSL ProxyRing PromoterWSL VaultJobshoutSysOps 24/7
ข่าวสาร
บล็อก
ติดต่อเราลงชื่อเข้าใช้

เวิร์กสเตชัน AI ซอฟต์แวร์มัลติเอเจนต์ AI โครงสร้างพื้นฐาน GPU และโซลูชันเอเจนต์อัจฉริยะสำหรับธุรกิจยุคใหม่

ติดต่อเรา

โซลูชัน AI

AI ประยุกต์เอเจนต์ AIAI เชิงสร้างระบบอัตโนมัติด้วย AIยกระดับทักษะ AIแพ็กเกจ AI สำหรับ SMEห้องปฏิบัติการ AI สำหรับองค์กรAI ตามอุตสาหกรรม

ผลิตภัณฑ์

ผลิตภัณฑ์ทั้งหมดWorkstation AI native CRM และ ERPการตลาดOpenAI AgentsWSL ProxyRing PromoterWSL VaultJobshoutSysOps 24/7

บริษัท

เกี่ยวกับเราทำไมต้อง Workstationพันธมิตรเรื่องราวของลูกค้าราคาติดต่อTenthMatrix

แหล่งข้อมูล

ข้อมูลเชิงลึก AIบทความเอกสารประกอบบล็อกค้นหาแผนผังเว็บไซต์
สำนักงานสหราชอาณาจักร
77-79 Marlowes, Hemel Hempstead HP1 1LFเส้นทาง - ออกทางแยกที่ 20 จาก M25 Outer Londonเลขทะเบียนบริษัท: 11641870จ. - ศ.: 9:00 - 18:00 น. GMT
+44 7515 356 146
สำนักงานเบลเยียม
Workstation SRL, Rue Vanderkindere 34, 1180 Uccle, BrusselsBE 0751.518.683จ. - ศ.: 9:00 - 18:00 น. CET
+32 492 45 67 46
สำนักงานอินเดีย
#159 Sector 9, Pocket 1, DDA Flats, 110077 Dwarka, New Delhi
+91 98881 98841

© 2026 Workstation AI สงวนลิขสิทธิ์

ความเป็นส่วนตัวการลบข้อมูลคุกกี้ข้อกำหนดในการให้บริการแผนผังเว็บไซต์

Loading blog...

หน้าแรก / บล็อก
SecuritySsoVpnDevOpsComplianceOpsapi

Keep Your Test Sites Private: VPN at the Edge, One Sign-In for Every App

Prove where every request came from, and who sent it

Balinder Walia28 ตุลาคม 25697 min read
Private test sites: VPN at the edge, sign-in at the app.

Your test and staging sites probably hold real-looking data and features you haven't announced yet. Most teams believe those sites are private. This post explains, in plain terms, how we keep pre-production sites private with two separate layers: a VPN checked at the edge, which proves where a request came from, and OpsAPI sign-in, which proves who sent it. Engineers who want the request path, the failover detail and the test commands should read the in-depth technical article.

Interactive version: switch edges, turn the VPN off and step through the sign-in to see what each request gets.

Private test sites: VPN at the edge, sign-in at the app. A network ring around an identity card marked MFA passed.

In one sentence. Only staff devices on the VPN can reach a test site at all, and once they get there, each person still signs in once with OpsAPI (with MFA) before the app shows them anything.

The staging site everyone assumes is private

Ask a team how their staging site is protected and you'll often hear "it's not linked from anywhere" or "it only allows the office IP". Both answers describe something real, but neither describes a person. A hidden address stays hidden only until it turns up in a browser history, a screenshot, a support ticket or a certificate transparency log. An office IP allowlist lets in anyone whose traffic leaves from that office, whether they're staff, a guest on the Wi-Fi or a device nobody has checked.

That matters more than it used to. Lower environments (int, test, staging) tend to hold copies of production data, half-finished features and admin screens with fewer safeguards than the live site. And clients and auditors increasingly ask a direct question: how are your lower environments separated from the public internet, and who can get in?

Two questions every request must answer

We find it useful to split the problem into two questions, because they need different tools:

  1. Where did this request come from? Was it sent from a device we issued access to, through our VPN?
  2. Who sent it? Which named person is this, did they pass multi-factor authentication (MFA), and what are they allowed to do?

An IP allowlist can only answer the first question. A login can only answer the second. Used together, they cover each other's blind spots.

Layer 1: the network, in plain words

Architecture: a staff device sends traffic for both edge IPs into a WireGuard tunnel; the VPN hub checks the device key and sends the request on from the office IP 192.0.2.50; DNS failover points int.example.com at the healthy edge; edge A and edge B allow only the office IP; the app then sends the person to OpsAPI sign-in. A public visitor gets 403 at the edge.

Every member of staff has their own VPN key on their own device. When they open a test site, five things happen:

  1. DNS sends their browser to whichever of our two edge servers is healthy.
  2. Their device recognises the edge's address and sends the request into the encrypted VPN tunnel.
  3. The VPN hub checks the device's key. No valid key, no tunnel.
  4. The hub sends the request on to the edge from a single, known office address.
  5. The edge checks that address against an access rule. If it matches, the site loads. Everyone else gets a "403 Forbidden".

The useful property is that the test site never has to be open to the internet. A visitor without a VPN key is turned away at the edge, before the request reaches the application.

What happens when a server fails over

We run two edge servers so that a site stays up if one of them fails. DNS failover watches both and points the site at the healthy one. That's good for uptime, but it taught us a lesson worth sharing.

When a site failed over from edge A to edge B, colleagues working away from the office suddenly got "403 Forbidden", even though their VPN was connected. Their VPN settings only sent traffic for edge A through the tunnel. Traffic for edge B quietly went out over their home connection, arrived from the wrong address and was refused. People in the office didn't notice anything, because their traffic already left from the office address.

The fix was simple once we understood it: edge B had to be added in two places, on each device (so its traffic enters the tunnel) and on the VPN hub (so it leaves from the office address).

Four failover states: edge A healthy with VPN on gives 200; edge A down and edge B active with both edges routed gives 200; edge B active with only edge A routed gives 403 because traffic skipped the tunnel; VPN off gives 403 like any public visitor.

The general lesson: every server a site can fail over to must be covered by your VPN set-up, and you should test failover from outside the office, not only on the office network.

Layer 2: one OpsAPI sign-in for all your apps

The network layer gets a request to the door. It can't tell you who is standing there: everyone behind the office address looks the same to the edge. That's where OpsAPI comes in.

Sequence diagram: App A sends the browser to the OpsAPI sign-in page, the person signs in with a password and an emailed code or with Google, OpsAPI returns them to App A with a token, App A checks it with OpsAPI and starts a session. When they open App B, OpsAPI recognises the existing session and returns them with no prompt.

OpsAPI gives every app you run one shared sign-in and one user directory:

  • One sign-in for every app. People sign in with email and password, with an emailed code when the workspace requires MFA, or with Google or Apple. One directory of users, with roles per workspace.
  • Sign in once. If someone has already signed in to one app, opening a second app takes them straight in with no second prompt. Signing out ends that session, so the next visit asks again.
  • MFA by default. Workspaces ask for a sign-in code unless the workspace owner turns it off, and when someone belongs to several workspaces, the strictest one decides.
  • Security built in. OpsAPI only hands a sign-in back to apps it has been told to trust. The same lockout, rate limits and audit trail apply however someone signs in.
  • Self-hosted. It runs on infrastructure you control, so there's no per-user identity bill and no separate login system to build for each app.

For a test site, that means the edge proves the request came through our VPN, and OpsAPI proves which named person is using it and what they may do.

What this gives you in compliance conversations

We don't claim any certification for this set-up, and an auditor decides what counts as evidence for their framework. What the two layers do is help you evidence the kinds of controls clients and auditors ask about:

What you're askedWhat helps you evidence it
Are lower environments separated from the public internet?A request from outside the VPN gets 403 at every edge, and you can show it.
Is access named and per person?A VPN key per device and person, plus a named OpsAPI account.
Is MFA enforced?OpsAPI asks for a sign-in code when the workspace requires it.
Can you remove a leaver quickly?Remove their VPN key and deactivate their OpsAPI account: two actions, both recorded.
Is traffic encrypted in transit?WireGuard on the tunnel and HTTPS to the site.
Does access hold up during an outage?Both edges carry the same rule and both are routed through the VPN, so a failover doesn't open or break anything.

These map to the kind of controls you'll find in ISO 27001 Annex A (for example, separation of environments and access control) and in SOC 2 (logical access). Use them as a starting point for your evidence, not as a claim that you're compliant.

Honest limits

  • An allowlist is a network check, not a user check. That's why the sign-in layer exists. Don't rely on the office address alone.
  • Office addresses can change. If your broadband provider changes the address, the allowlist has to follow it, or everyone is locked out.
  • One VPN hub is one point of failure. Plan a second path for when the office connection goes down.
  • Edge logs see the office address for everyone. Per-person records come from the sign-in layer, not from the edge.
  • Offboarding is two actions. Remove the VPN key and deactivate the OpsAPI account.

What about SAML and OIDC?

Many enterprise tools expect to plug into a SAML identity provider or an OpenID Connect (OIDC) provider. OpsAPI is neither. It has no client registrations and no standard /authorize or /token endpoints, so an off-the-shelf SAML or OIDC client can't use it directly.

Apps integrate with OpsAPI today through a simple redirect: the app sends the browser to the OpsAPI sign-in page, gets a token back, and asks OpsAPI who the person is. It takes a small amount of code per app, which the technical article shows. If you need SAML or OIDC for a particular tool, OpsAPI doesn't offer it today, and you should plan for that.

Where to go next

  • For the request path, the failover detail, the OpsAPI sign-in contract and a test plan with commands, read the technical article: An IP Allowlist Isn't a Login.
  • To see what OpsAPI single sign-on covers and how to set it up, see the OpsAPI README.
  • Questions about your own lower environments? Talk to us.

Related reading

  • One sign-in for every app: the OpsAPI SSO demo
  • Tech note: the OpsAPI SSO demo with Java and PHP apps
  • Put internal apps behind your VPN, without rebuilding them
  • An IP allowlist is not a VPN check: Zero Trust access profiles with wslvpn and WSLProxy