HTTPS website server with cert autogeneration and server push
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
Gopkg.lock
Gopkg.toml
LICENSE
README.md
main.go
mappings.json.example

README.md

websiteServer

It serves websites.....

  • with autogenerated SSL certificates from Let’s Encrypt
  • with HTTP2 server push for less round trips
  • with automatic http to https redirects
  • easy static file to path mappings

For an example of a website running on websiteServer visit ccochrane.com and the associated SSL report can be found here.

Use a mapping.json file to descibe which files to serve at which paths:

{
    "file-paths":[
        {
            "file":"pic.jpg",
            "path":"/pic.jpg"
        },
        {
            "file":"robot.txt",
            "path":"/robot.txt"
        },
    ],
    "push-file-paths":[
        {
            "file":"index.html",
            "path":"/",
            "push-paths":[
                "/pic.jpg"
            ]
        }
    ]
}

Then run websiteServer:

$ ./websiteServer -domain=example.com

Please make sure port 80 and 443 are accessible and DNS for your domain is set up. A full list of flags can be found via:

$ ./websiteServer -h

Building with Docker

An example Dockerfile can be found here.

Local development

Please have go and go dep installed.

To install dependancies

$ dep ensure

To build:

$ go build

Please log any bugs or suggestion as Github issues. Pull requests always welcome.

Special thanks to Let's Encrypt, please consider donating to them.