Hello,
I'm building a REST API with actix-web 3.3.2
, I use lettre 0.10.0-rc.3
to send emails. Lettre
compiles the openssl-sys
crate as a dependency which expects an Openssl version >1.0 to be installed in the system. Until this, I'm good.
But now I have a problem because I want to add the crate acme-client ( in my dependencies in order to enable https, and acme-client only support older versions of openssl (<1.0). I know this is a known issues and I saw some MR to add support of openssl >1.0 but it doesn't seems to be merged yet ( Does not work with modern openssl versions · Issue #43 · onur/acme-client · GitHub)
So meanwhile I don't know how to work around to be able to work with https on my actix server.
If useful, here is an overview of my project configuration :
Cargo dependencies:
[dependencies]
actix-web = "3"
futures = "0.3.17"
serde = "1.0.130"
wither="0.9"
lettre = "0.10.0-rc.3"
magic-crypt="3"
env_logger="0.9"
chrono="0.4"
rand="0.8"
# acme-client="0.5" <-- build fails
And the Dockerfile that builds the API container
FROM rust:1.50-slim-buster
WORKDIR /usr/src/app
COPY ./Cargo.toml ./Cargo.toml
COPY ./src ./src
RUN apt-get update && apt-get install build-essential perl wget -y \
&& wget http://www.openssl.org/source/openssl-1.1.1l.tar.gz -P /tmp \
&& tar -xvzf /tmp/openssl-1.1.1l.tar.gz -C /usr/local/include/
WORKDIR /usr/local/include/openssl-1.1.1l
RUN ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl \
&& make && make install \
&& apt-get install -y ca-certificates
ENV OPENSSL_DIR "/usr/local/openssl"
WORKDIR /usr/src/app
I'm not super comfortable with all the HTTPS/SSL/TLS questions, so I might not being seeing the obvious solution...
Thanks for any tip!