Skip to content

Commit 4e8e788

Browse files
authored
added https information
1 parent d573975 commit 4e8e788

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

README.md

+15
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,21 @@ If anyone wants to take a crack at implementing any of the above features I am m
4141
In order to really see the differences between libraries, I created some basic benchmark firmwares for PsychicHttp, ESPAsyncWebserver, and ArduinoMongoose. I then ran the loadtest-http.sh and loadtest-websocket.sh scripts against each firmware to get some real numbers on the performance of each server library. All of the code and results are available in the /benchmark folder. If you want to see the collated data and graphs, there is a [LibreOffice spreadsheet](/benchmark/comparison.ods).
4242

4343
![Performance graph](/benchmark/performance.png)
44+
![Latency graph](/benchmark/latency.png)
45+
46+
## HTTPS / SSL
47+
48+
Yes, PsychicHttp supports SSL out of the box, but there are a few caveats:
49+
50+
* Due to memory limitations, it can only handle 2 connections at a time. Each SSL connection takes about 45k ram, and a blank PsychicHttp sketch has about 150k ram free.
51+
* Speed and latency are still pretty good (see graph above) but the SSH handshake seems to take 1500ms. With websockets or browser its not an issue since the connection is kept alive, but if you are loading requests in another way it will be a bit slow
52+
* Unless you want to expose your ESP to the internet, you are limited to self signed keys and the annoying browser security warnings that come with them.
53+
54+
To generate your own self signed certificate, you can use the command below:
55+
56+
```
57+
openssl req -x509 -newkey rsa:2048 -nodes -keyout server.key -out server.crt -sha256 -days 365
58+
```
4459

4560
## Analysis
4661

0 commit comments

Comments
 (0)