
Cloud Hosted Web Server
The aim of the project was to deploy a secure web server using a cloud hosting provider based in Switzerland.
Functional requirements:
- The server will host an HTML/JavaScript application (the Ether Fund Raiser DApp)
- It will be accessed via its own domain name
- It should be secure, serving pages via HTTPS by default
- Hardware (CPU, Disk Space, Memory, etc.) and Bandwidth usage should be charged for on an as-used basis, with per second billing
- The server would require limited storage capacity and no database as all transactions would be recorded on the Ethereum blockchain
- The server should be hosted in Switzerland
Technical overview:
- The server is cloud hosted through Exoscale from their Data Centre in Geneva, Switzerland
- The server hardware is based on the Exoscale Micro Package and initially uses 512MB RAM, 1 x 2GHz CPU and 10GB disk space, running the Linux Ubuntu operating system
- The domain name was obtained through namecheap
- The web server is hosted using the express Node.js npm module running in HTTPS mode
- The HTTPS certificates were provided from LetsEncrypt using certbot
- The web server is “kept alive” using the pm2 Node.js npm module
(Image above by Pete Linforth from Pixabay)