mirror of
				https://github.com/gin-gonic/gin.git
				synced 2025-10-31 07:02:13 +08:00 
			
		
		
		
	[docs] add http2 example (#1000)
This commit is contained in:
		
							parent
							
								
									44da058aa0
								
							
						
					
					
						commit
						87fdff8f88
					
				
							
								
								
									
										18
									
								
								examples/http2/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								examples/http2/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,18 @@ | ||||
| ## How to generate RSA private key and digital certificate | ||||
| 
 | ||||
| 1. Install Openssl | ||||
| 
 | ||||
| Please visit https://github.com/openssl/openssl to get pkg and install. | ||||
| 
 | ||||
| 2. Generate RSA private key | ||||
| 
 | ||||
| ```sh | ||||
| $ mkdir testdata | ||||
| $ openssl genrsa -out ./testdata/server.key 2048 | ||||
| ``` | ||||
| 
 | ||||
| 3. Generate digital certificate | ||||
| 
 | ||||
| ```sh | ||||
| $ openssl req -new -x509 -key ./testdata/server.key -out ./testdata/server.pem -days 365 | ||||
| ``` | ||||
							
								
								
									
										32
									
								
								examples/http2/main.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								examples/http2/main.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,32 @@ | ||||
| package main | ||||
| 
 | ||||
| import ( | ||||
| 	"html/template" | ||||
| 
 | ||||
| 	"github.com/gin-gonic/gin" | ||||
| ) | ||||
| 
 | ||||
| var html = template.Must(template.New("https").Parse(` | ||||
| <html> | ||||
| <head> | ||||
|   <title>Https Test</title> | ||||
| </head> | ||||
| <body> | ||||
|   <h1 style="color:red;">Welcome, Ginner!</h1> | ||||
| </body> | ||||
| </html> | ||||
| `)) | ||||
| 
 | ||||
| func main() { | ||||
| 	r := gin.Default() | ||||
| 	r.SetHTMLTemplate(html) | ||||
| 
 | ||||
| 	r.GET("/welcome", func(c *gin.Context) { | ||||
| 		c.HTML(200, "https", gin.H{ | ||||
| 			"status": "success", | ||||
| 		}) | ||||
| 	}) | ||||
| 
 | ||||
| 	// Listen and Server in https://127.0.0.1:8080 | ||||
| 	r.RunTLS(":8080", "./testdata/server.pem", "./testdata/server.key") | ||||
| } | ||||
							
								
								
									
										15
									
								
								examples/http2/testdata/ca.pem
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								examples/http2/testdata/ca.pem
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,15 @@ | ||||
| -----BEGIN CERTIFICATE----- | ||||
| MIICSjCCAbOgAwIBAgIJAJHGGR4dGioHMA0GCSqGSIb3DQEBCwUAMFYxCzAJBgNV | ||||
| BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX | ||||
| aWRnaXRzIFB0eSBMdGQxDzANBgNVBAMTBnRlc3RjYTAeFw0xNDExMTEyMjMxMjla | ||||
| Fw0yNDExMDgyMjMxMjlaMFYxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0 | ||||
| YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxDzANBgNVBAMT | ||||
| BnRlc3RjYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwEDfBV5MYdlHVHJ7 | ||||
| +L4nxrZy7mBfAVXpOc5vMYztssUI7mL2/iYujiIXM+weZYNTEpLdjyJdu7R5gGUu | ||||
| g1jSVK/EPHfc74O7AyZU34PNIP4Sh33N+/A5YexrNgJlPY+E3GdVYi4ldWJjgkAd | ||||
| Qah2PH5ACLrIIC6tRka9hcaBlIECAwEAAaMgMB4wDAYDVR0TBAUwAwEB/zAOBgNV | ||||
| HQ8BAf8EBAMCAgQwDQYJKoZIhvcNAQELBQADgYEAHzC7jdYlzAVmddi/gdAeKPau | ||||
| sPBG/C2HCWqHzpCUHcKuvMzDVkY/MP2o6JIW2DBbY64bO/FceExhjcykgaYtCH/m | ||||
| oIU63+CFOTtR7otyQAWHqXa7q4SbCDlG7DyRFxqG0txPtGvy12lgldA2+RgcigQG | ||||
| Dfcog5wrJytaQ6UA0wE= | ||||
| -----END CERTIFICATE----- | ||||
							
								
								
									
										16
									
								
								examples/http2/testdata/server.key
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								examples/http2/testdata/server.key
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | ||||
| -----BEGIN PRIVATE KEY----- | ||||
| MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAOHDFScoLCVJpYDD | ||||
| M4HYtIdV6Ake/sMNaaKdODjDMsux/4tDydlumN+fm+AjPEK5GHhGn1BgzkWF+slf | ||||
| 3BxhrA/8dNsnunstVA7ZBgA/5qQxMfGAq4wHNVX77fBZOgp9VlSMVfyd9N8YwbBY | ||||
| AckOeUQadTi2X1S6OgJXgQ0m3MWhAgMBAAECgYAn7qGnM2vbjJNBm0VZCkOkTIWm | ||||
| V10okw7EPJrdL2mkre9NasghNXbE1y5zDshx5Nt3KsazKOxTT8d0Jwh/3KbaN+YY | ||||
| tTCbKGW0pXDRBhwUHRcuRzScjli8Rih5UOCiZkhefUTcRb6xIhZJuQy71tjaSy0p | ||||
| dHZRmYyBYO2YEQ8xoQJBAPrJPhMBkzmEYFtyIEqAxQ/o/A6E+E4w8i+KM7nQCK7q | ||||
| K4JXzyXVAjLfyBZWHGM2uro/fjqPggGD6QH1qXCkI4MCQQDmdKeb2TrKRh5BY1LR | ||||
| 81aJGKcJ2XbcDu6wMZK4oqWbTX2KiYn9GB0woM6nSr/Y6iy1u145YzYxEV/iMwff | ||||
| DJULAkB8B2MnyzOg0pNFJqBJuH29bKCcHa8gHJzqXhNO5lAlEbMK95p/P2Wi+4Hd | ||||
| aiEIAF1BF326QJcvYKmwSmrORp85AkAlSNxRJ50OWrfMZnBgzVjDx3xG6KsFQVk2 | ||||
| ol6VhqL6dFgKUORFUWBvnKSyhjJxurlPEahV6oo6+A+mPhFY8eUvAkAZQyTdupP3 | ||||
| XEFQKctGz+9+gKkemDp7LBBMEMBXrGTLPhpEfcjv/7KPdnFHYmhYeBTBnuVmTVWe | ||||
| F98XJ7tIFfJq | ||||
| -----END PRIVATE KEY----- | ||||
							
								
								
									
										16
									
								
								examples/http2/testdata/server.pem
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								examples/http2/testdata/server.pem
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | ||||
| -----BEGIN CERTIFICATE----- | ||||
| MIICnDCCAgWgAwIBAgIBBzANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJBVTET | ||||
| MBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQ | ||||
| dHkgTHRkMQ8wDQYDVQQDEwZ0ZXN0Y2EwHhcNMTUxMTA0MDIyMDI0WhcNMjUxMTAx | ||||
| MDIyMDI0WjBlMQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNV | ||||
| BAcTB0NoaWNhZ28xFTATBgNVBAoTDEV4YW1wbGUsIENvLjEaMBgGA1UEAxQRKi50 | ||||
| ZXN0Lmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOHDFSco | ||||
| LCVJpYDDM4HYtIdV6Ake/sMNaaKdODjDMsux/4tDydlumN+fm+AjPEK5GHhGn1Bg | ||||
| zkWF+slf3BxhrA/8dNsnunstVA7ZBgA/5qQxMfGAq4wHNVX77fBZOgp9VlSMVfyd | ||||
| 9N8YwbBYAckOeUQadTi2X1S6OgJXgQ0m3MWhAgMBAAGjazBpMAkGA1UdEwQCMAAw | ||||
| CwYDVR0PBAQDAgXgME8GA1UdEQRIMEaCECoudGVzdC5nb29nbGUuZnKCGHdhdGVy | ||||
| em9vaS50ZXN0Lmdvb2dsZS5iZYISKi50ZXN0LnlvdXR1YmUuY29thwTAqAEDMA0G | ||||
| CSqGSIb3DQEBCwUAA4GBAJFXVifQNub1LUP4JlnX5lXNlo8FxZ2a12AFQs+bzoJ6 | ||||
| hM044EDjqyxUqSbVePK0ni3w1fHQB5rY9yYC5f8G7aqqTY1QOhoUk8ZTSTRpnkTh | ||||
| y4jjdvTZeLDVBlueZUTDRmy2feY5aZIU18vFDK08dTG0A87pppuv1LNIR3loveU8 | ||||
| -----END CERTIFICATE----- | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user