Related Rebex software

Intro

Simple, minimalist web server for testing and debugging purposes. Runs as a Windows application only.

It's free for commercial and non-commercial use.

The server is extremely simple to use. Just unpack the ZIP file, run the executable, and that's all. You can tweak the configuration later if needed.

Download

Download - Tiny Web Server Application »

Getting started

  1. Download and unpack the ZIP package.
  2. Optional: edit RebexTinyWebServer.exe.config.
  3. Run RebexTinyWebServer.exe
  4. Press Start button to begin serving files via HTTP/HTTPS.

Features

  • Supports HTTP and HTTPS protocols.
  • Runs as a stand-alone Windows application (not a service).
  • TLS 1.3/1.2 support and up-to-date TLS cipher support.
  • Legacy TLS 1.1/1.0 supported as well.
  • Detailed activity log (optional raw communication logging).
  • Free to use, even for commercial purposes.
  • Runs on any Windows OS with .NET Framework 4.6 or higher.
  • No setup needed. Just unpack the ZIP file and run.

When to use Rebex Tiny Web Server

  • Local web development and testing

    Need to test your web page now? Not willing to wait days or weeks for your tech-support department to install a testing web server?
    Don't want to spend hours learning how to configure a full-features web server yourself?

    Get Tiny Web Server and start testing your HTML pages over HTTPS in minutes.

  • Need temporary local web server for connectivity testing

    Install Tiny Web Server, run it and try connecting from other PCs and devices in your local network.

When NOT to use Rebex Tiny Web Server

  • Need a production web server

    Tiny Web Server is meant for testing and debugging purposes only. It is not intended for Internet-facing endpoints.

Compatibility

Tiny Web Server runs on:

  • Windows 11, 10.
  • Windows Server 2019, 2016, or 2012.
  • Windows 8.1, 7, Vista, Server 2008. You might have to install .NET Framework 4.6 first when using the server on these legacy systems.

Configuration

The server can be configured using RebexTinyWebServer.exe.config file. This configuration file must be placed in the same folder as the executable file.

httpPort
TCP port on which the server listens for HTTP connections. If not specified, the HTTP is disabled.
httpsPort
TCP port on which the server listens for HTTPS connections. If not specified, the HTTPS is disabled.
webRootDir
Root data folder. If the folder does not exist, the server creates it and puts some test data there. Default is ./wwwroot.
defaultFile
Default file to be sent if the request URL points to a directory. Default is index.html.
serverCertificateFile
Path to the server certificate with associated private key. PKCS #12 (.pfx file extension) format is supported. A new self-signed certificate is generated if it does not exist:
  • .pfx file is intended to be used on the server.
  • .cer file is intended to be installed on the client into the "Trusted Root Certification Authorities" store.
For more information, read our Introduction to Public Key Certificates. Default is server-certificate.pfx.
serverCertificatePassword
Password for the server certificate.
tlsVersions
Possible values: TLS13, TLS12, TLS11, TLS10, SSL30. (SSL30 will not work if TLS13 is enabled.) Default is TLS13, TLS12, TLS11, TLS10.
legacyMode
If set to true, the server operates in legacy mode with vulnerable cipher suites enabled to achieve better compatibility with legacy devices. Also the initial server certificate is generated with 512-bit RSA key and signature hash algorithm is SHA-1 (instead of 2048-bit RSA key with SHA-256). Default is false.
autoStart
If set to true, the server starts when application is started. No need to press the button. Default is false.
decodeUri
If set to true, the server decodes received URI before mapping it to a physical path. Default is true.

Note:
To minimize possible "port in use" conflict, the initial values of ports are assigned to 1180 for HTTP and 11443 for HTTPS. If you need to test your web client with standard ports, please modify httpPort and httpsPort in the configuration file to 80 for HTTP and 443 for HTTPS and make sure there is no other service using those ports.

License

Rebex Tiny Web Server is free for commercial and non-commercial use. See the End User License Agreement (EULA) for details.

Version history

1.0.1 (2023-12-11)

  • Added possibility to configure enabled TLS versions (see tlsVersions config key).
  • Added better compatibility with legacy devices (see legacyMode config key).
  • Added URI decoding to map physical paths correctly (see decodeUri config key).
  • Extended list of know file extensions to provide better Content-type to the client.
  • Added support for UNC paths.

1.0.0 (2022-02-22)

  • First version.

Contact

Have a feature request or a question? Contact us or ask at Rebex Q&A Forum.