Local HTTPS testing#
To access the API over HTTPS, we need to proxy to it using NGINX. Note that this proxy is different from the API NGINX image that is specifically aimed at serving static files in live environments.
Prerequisites#
Make sure you have gone through the quickstart guide before attempting this as this is a slightly more advanced process.
Additionally, you will need to install mkcert as described in the general setup guide.
Steps#
Create certificates for NGINX to use.
$ just docker/nginx/cert
This will create a certificate file
openversse.crt
and a key fileopenverse.key
in thedocker/nginx/certs/
directory.Bring the ingestion server and API up, along with all their dependent services.
$ just api/up
The
api/up
recipe orchestrates the following services:cache
,db
,upstream_db
,es
,indexer_worker
,ingestion_server
,web
andproxy
.Note that the
proxy
service here is the NGINX instance that will handle our HTTPS requests.Make an API call over HTTPS.
$ just api/stats images https://localhost:50243 just _curl-get "images/stats/" https://localhost:50243 curl "https://localhost:50243/v1/images/stats/" [{"source_name":"flickr","display_name":"Flickr","source_url":"https://www.flickr.com","logo_url":null,"media_count":2500},{"source_name":"stocksnap","display_name":"StockSnap","source_url":"https://stocksnap.io","logo_url":null,"media_count":2500}]%