Book Image

Go Web Development Cookbook

By : Arpit Aggarwal
Book Image

Go Web Development Cookbook

By: Arpit Aggarwal

Overview of this book

Go is an open source programming language that is designed to scale and support concurrency at the language level. This gives you the liberty to write large concurrent web applications with ease. From creating web application to deploying them on Amazon Cloud Services, this book will be your one-stop guide to learn web development in Go. The Go Web Development Cookbook teaches you how to create REST services, write microservices, and deploy Go Docker containers. Whether you are new to programming or a professional developer, this book will help get you up to speed with web development in Go. We will focus on writing modular code in Go; in-depth informative examples build the base, one step at a time. You will learn how to create a server, work with static files, SQL, NoSQL databases, and Beego. You will also learn how to create and secure REST services, and create and deploy Go web application and Go Docker containers on Amazon Cloud Services. By the end of the book, you will be able to apply the skills you've gained in Go to create and explore web applications in any domain.
Table of Contents (13 chapters)

Creating a private key and SSL certificate using OpenSSL

To move a server running on HTTP to HTTPS, the first thing we have to do is to get the SSL certificate, which may be either self-signed or a certificate signed by a trusted certificate authority such as Comodo, Symantec, or GoDaddy.

To get the SSL certificate signed by a trusted certificate authority, we have to provide them with a Certificate Signing Request (CSR), which mainly consists of the public key of a key pair and some additional information, whereas a self-signed certificate is a certificate that you can issue to yourself, signed with its own private key.

Self-signed certificates can be used to encrypt data as well as CA-signed certificates, but the users will be displayed with a warning that says that the certificate is not trusted by their computer or browser. Therefore, you should not use them for the production...