S7-1200 Web Server: Remote Access and Configuration Guide
The SIMATIC S7-1200 CPU family does not run a generic or third-party web server. Each CPU hosts an integrated Siemens Web Server that is part of the CPU firmware and is enabled, configured, and restricted from inside TIA Portal. The same firmware that executes the STEP 7 program also serves HTML pages, JSON status objects, and (on firmware V4.x) user-defined fragments, all from a single TCP socket on the CPU's PROFINET interface. This article answers the customer questionnaire (make/model, web server identity, database, patching, IP addressing) and gives the field-procedure to expose that web server — or, more securely, the TIA Portal project — across the public Internet.
1. Web Server Identity and Capability Matrix
The S7-1200 web server is not an Apache, nginx, or IIS instance. It is the SIMATIC firmware-resident HTTP/HTTPS service documented in the S7-1200 Programmable Controller system manual. Capability has expanded significantly across firmware generations:
| Firmware | Web Server Capabilities | Default Ports |
|---|---|---|
| V1.0 – V2.2 | Standard pages: CPU info, diagnostic buffer, tag status (read only), module information, communication status. | HTTP 80 |
| V3.0 | Adds HTTPS support, basic user administration (admin/read-only), improved diagnostics. | HTTP 80, HTTPS 443 |
| V4.0 – V4.1 | Adds user-defined Web pages via AWP (Automation Web Programming) commands, JSON-RPC read/write, improved tag access security. | HTTP 80, HTTPS 443 |
| V4.2 – V4.6 | Adds access levels per user, file browser for user-defined pages, logon page configurable, OPC UA Web server companion data model. | HTTP 80, HTTPS 443 (both disable-able) |
Confirm the installed firmware in TIA Portal under Online > Accessible Nodes > CPU > Diagnostics, or directly from the standard web page System > Version once the server is enabled.
6ES7214-1AG40-0XB0) and the firmware version. Do not describe the device as "a Siemens PLC" — the 214, 215, 216 CPU variants have different web feature sets and memory ceilings for user-defined pages.2. Customer Questionnaire — Direct Answers
| Question | Answer |
|---|---|
| Make and model of the device? | Siemens SIMATIC S7-1200 CPU, 6ES7 2xx-1xx4x-xxxx (state full order number and firmware V4.x). |
| What web server is the device running? | The Siemens-integrated SIMATIC S7-1200 Web Server (firmware-resident, not a third-party HTTP daemon). It is disabled by default and must be activated in TIA Portal under CPU Properties > Web Server. |
| Does the unit have a database that requires backing up? | No SQL or relational database. Program, hardware configuration, and web-server data are stored on the SIMATIC Memory Card (SMC). Back up by reading the project from the CPU in TIA Portal (Online > Snapshot of the actual project) and archiving the SMC image. |
| Maintenance / patches — who is responsible? | Firmware updates are Siemens-delivered via TIA Portal HSP. Plant owner is responsible for applying them; Siemens support is contractually via the local Siemens representative. The web server itself is patched by updating CPU firmware. |
| Internal or external IP address? | Use a private (RFC 1918) address on the CPU and place an industrial router / firewall in front. The router holds the public IP (or a SIM with a fixed public IP from a cellular provider). The CPU is never directly addressable from the public Internet. |
3. Enabling and Hardening the Web Server in TIA Portal
3.1 Prerequisites
- TIA Portal V15.1 or later (V17+ recommended for V4.4+ CPUs).
- CPU firmware V4.0 or later for HTTPS — older firmware exposes HTTP only.
- CPU protection level "Full access (no protection)" or higher while writing the configuration; re-lock with password after commissioning.
- One SIMATIC Memory Card (SMC) inserted, 4 MB minimum.
3.2 Enable Procedure
- Open the project in TIA Portal, select the CPU device.
- Open Properties > Web Server > General.
- Tick "Activate web server on this module".
- Tick "Permit access only with HTTPS" (V3.0+). Do not leave HTTP enabled in production.
- Tick "Enable user-defined Web pages" if AWP pages will be deployed (V4.0+).
- Under User administration, create at minimum one
adminaccount (full access) and onevieweraccount (read-only). Each account binds to a CPU access level: HMI, Read, or Full. - Compile the hardware configuration and download to the CPU. The CPU stores the web-server enable flag and the user list in retentive memory.
- From a PC on the same subnet, browse to
https://<CPU-IP>. The login page must appear.
4. Standard Web Pages Inventory
Once enabled, the CPU serves the following read-only pages by default:
- Introduction — order number, firmware, serial, slot configuration.
- CPU — operating mode (RUN/STOP), RUN/STOP switch position, LED states.
- Module Information — order number, firmware, status of central and distributed I/O.
- Diagnostic Buffer — last 50 events, time-stamped.
- Communication — live connection list (OPC UA, S7, PROFINET, TCP).
- Tag Status — live read of declared monitor tags.
- Watch Tables — only if the user has "Full" access; allows writes.
-
Data Logs (V4.0+) — CSV files from
DataLogDBs on the SMC; downloadable from the browser. - User-defined Pages (V4.0+) — AWP HTML pages generated from the project.
5. User-Defined Web Pages (AWP)
Firmware V4.0 onward supports AWP (Automation Web Programming) — HTML fragments compiled by TIA Portal and pushed to the CPU. AWP variables expose DB tags:
<!-- :="myTag1" AWP_Out := "DB1."HMI".myTag1" -->
<p>Speed: <:=myTag1:> rpm</p>
<!-- :="setSpeed" AWP_In_Variable := "DB1."HMI".setSpeed" -->
<form><input type="text" name="'DB1.HMI.setSpeed'" />
<input type="submit" value="Write" /></form>
Generated HTML is stored in UserFiles\Webpages on the SMC. Each user-defined page is restricted to the access level of the logged-in web user; a user with HMI access cannot write to AWP_In_Variable tags.
6. Remote Access Topologies
The S7-1200 web server is one of two remote-touch points; the other is TIA Portal engineering download via the S7 protocol (ISO-on-TCP, port 102). The risk profile of each differs:
| Topology | What It Exposes | Risk | Recommended Use |
|---|---|---|---|
| Port-forwarded router (TCP 80/443 to CPU, or TCP 102 to CPU) | CPU directly on public IP. | High — exposes Siemens firmware surface to the Internet. CPU password becomes sole barrier. | Lab/commissioning only, never production. |
| Industrial VPN router (Sinema RC, eWon, Moxa, Stride, etc.) | VPN tunnel to a relay; CPU keeps a private RFC 1918 address. | Low if the relay authenticates both ends with certificates. | Production remote engineering & HMI. |
| 3G/4G cellular with fixed-IP SIM | Cellular modem as router, public IP on SIM, private LAN behind. | Medium — depends on cellular APN isolation; static IP SIMs are typically more exposed than residential ISPs. | Machinery shipped without a wired broadband contract. |
| Sinema Remote Connect / OpenVPN | Central relay (Sinema RC server); both router and TIA Portal client authenticate via certificate. | Lowest — no inbound ports on the customer edge. | Multi-site fleets, support contracts. |
The source field deployment used a 3G router with a fixed-IP SIM and succeeded for both web-server browsing and TIA Portal download. This is functional but should be replaced with a VPN for production because the fixed-IP SIM is a public, routable address; the only barrier is the CPU password.
6.1 IP Address Assignment Decision Tree
- CPU PROFINET interface: assign a static RFC 1918 address from the industrial router's LAN (e.g.,
192.168.10.10/24). Disable DHCP on the CPU. - Industrial router WAN: either a public IP from the ISP/SIM operator, or DHCP if behind a customer firewall.
- DNS: register a dynamic-DNS hostname (e.g.,
plant-east.example.com) if the WAN IP is dynamic; fixed-IP SIMs do not need DDNS.
7. Security Hardening Checklist
- Disable HTTP; HTTPS only.
- Enforce minimum 8-character passwords; rotate every 90 days.
- Set the CPU protection level to "Read/write protection" or higher. The web-server "Full" user cannot bypass CPU protection — they can only operate at the level the CPU grants.
- Block inbound TCP 102 (ISO-on-TCP) on the router unless TIA Portal download is explicitly required; route it through a VPN.
- Whitelist the source IP or VPN user list at the router.
- Disable the web server when remote access is not in use (scheduled enable via PLC tag if needed).
- Enable the CPU's "Trace" and export diagnostic buffers periodically — they record failed logins and web-side writes.
8. Step-by-Step: Public-IP SIM Router (As Deployed)
- Insert an industrial 3G/4G router (e.g., SCALANCE M874, Moxa OnCell, eWon Cosy) and install a SIM with a fixed public IP service.
- Configure the router LAN to
192.168.10.0/24; router LAN IP192.168.10.1. - Set the S7-1200 PROFINET interface to static
192.168.10.10/24; default gateway192.168.10.1. - From a laptop on the LAN, browse to
https://192.168.10.10, confirm login page. - From a remote laptop, test the public IP (or DDNS hostname) on port 443 — the login page must appear.
- Open TIA Portal, Online > Accessible Nodes, type the public IP, port 102. TIA Portal must list the CPU.
- Run a program upload to verify the channel, then disconnect.
9. Step-by-Step: Sinema Remote Connect (Recommended)
- Stand up a Sinema RC server (VM at HQ or hosted in Azure/AWS) with a publicly resolvable hostname and a valid certificate from a trusted CA.
- Provision each S7-1200 site with a SCALANCE M87x or S615 router. Load the Sinema RC client config — generates a device certificate.
- Engineer laptops install the Sinema RC client and an individual user certificate.
- On the central server, pair the device cert with the user cert. Both endpoints now establish an OpenVPN-style tunnel to the relay; no inbound ports on either edge.
- From TIA Portal, select Online > Accessible Nodes > Target device > Network adapter and pick the virtual Sinema RC adapter. The CPU is reachable on its private IP.
10. Verification Procedures
| Check | Expected Result | Method |
|---|---|---|
| Web server reachable on LAN | Login page loads over HTTPS within 2 s | Browser on LAN: https://192.168.10.10
|
| HTTPS certificate valid | Browser shows padlock; no warnings | Click padlock in browser; verify CN matches the CPU's hostname |
| User administration enforced | Anonymous access denied; login required for any page | Open browser in incognito, navigate to https://<ip>/Diagnostics
|
| TIA Portal reachable via VPN | CPU appears in "Accessible Nodes" within 5 s | TIA Portal > Online > Accessible Nodes |
| Read-only user cannot write | Watch table write attempt returns "Access denied" | Log in as viewer, open a watch table, attempt to modify a tag |
| Diagnostic buffer records remote access | Event "Login to web server successful" with user name | Web page > Diagnostic Buffer; or TIA Portal > Online & Diagnostics |
11. Troubleshooting Matrix
| Symptom | Likely Cause | Action |
|---|---|---|
| Browser shows "connection refused" on port 80 and 443 | Web server not enabled in TIA Portal | Open CPU properties > Web server > enable, recompile, download. |
| Login page loads but credentials rejected | CPU protection level incompatible with user level; or user list not downloaded | Recompile hardware config, ensure "Web server user management" is included; verify in CPU properties > Protection. |
| TIA Portal times out on port 102 | Router firewall blocks 102; or CPU is on a different subnet with no route | Confirm router forwarding rule; confirm CPU gateway; ping from a host on the same VPN segment. |
| HTTPS works LAN, not remote | ISP/Cellular blocks inbound 443, or router not forwarding | From outside, telnet <public-ip> 443 — must show banner; otherwise adjust firewall/NAT. |
| User-defined page returns 404 | HTML files not in UserFiles\Webpages on SMC, or AWP syntax error |
Recompile with "Generate web server blocks" ticked; check SMC files via web page > File browser (V4.2+). |
| Web page very slow to refresh tags | Browser polling interval too short; tag list too long | Increase refresh interval in URL (?Refresh=5); use JSON-RPC for bulk read. |
12. Operational Notes
- The web server keeps operating in STOP mode — useful for diagnostics when the program is faulted.
- If the CPU loses the SMC, user-defined web pages are lost; standard pages survive (they live in firmware).
- Firmware updates do not preserve the user list — export users from TIA Portal before each upgrade.
- Maximum concurrent HTTPS sessions is CPU-dependent: typically 5 on CPU 1211/1212, 10 on 1214/1215, 15 on 1217.
- JSON-RPC endpoint:
https://<ip>/api/jsonrpc(V4.0+). Authenticate with HTTP Basic against the same user list.
For full firmware-level detail and screenshots, refer to the official S7-1200 manual collection on docs.tia.siemens.cloud — Web Server overview and the reference AWP example in the open documentation. A minimal AWP template is also available in the community Web-Server-Siemens-S7-1200 sample project.
What web server does the S7-1200 run?
The S7-1200 runs the Siemens-integrated SIMATIC Web Server that is built into the CPU firmware. It is not Apache, nginx, or IIS, and there is no separate executable to install. It is enabled from TIA Portal under CPU Properties > Web Server and serves standard CPU/diagnostic pages, user-defined AWP pages (firmware V4.0+), and a JSON-RPC endpoint.
Which ports must be open for remote web-server access?
TCP 443 for HTTPS (recommended) and optionally TCP 80 for HTTP. Both are configurable and both can be disabled. Do not also expose TCP 102 (S7 protocol) on the public Internet — it allows TIA Portal program download, which is a far higher-risk surface.
Can I program the S7-1200 remotely over the Internet?
Yes, with one of: a fixed-IP SIM behind an industrial 3G/4G router, a port-forwarded TCP 102, or a VPN tunnel (Sinema Remote Connect, OpenVPN, or IPsec) to a SCALANCE/Stride/eWon router. The simplest field-proven path is a fixed-IP cellular SIM with TCP 102 forwarded to the CPU's private IP; the most secure path is Sinema RC with mutual certificate authentication and no inbound ports.
Does the S7-1200 need a database backup?
No. The CPU stores program, configuration, data logs, and user-defined web pages on the SIMATIC Memory Card. Back up by reading the project from the CPU in TIA Portal (Online > Upload from device) and archiving the SMC image. Siemens firmware is restored via TIA Portal HSPs.
How do I find the S7-1200 firmware and web-server version?
In TIA Portal, go Online > Accessible Nodes, select the CPU, and open Online & Diagnostics. The firmware version appears under "CPU > Identification". On the web page, the same version is shown under System > Version. Web-server features (HTTPS, AWP, JSON-RPC, per-user access levels) depend on firmware V3.0, V4.0, and V4.2 respectively.