如何在httpd docker镜像上关闭HTTP



我已经创建了一个运行apache2 http服务器的容器,加载了我的证书和https://mydomain工作,但是http://mydomain也工作,如果我在浏览器mydomain上数字,浏览器打开http://mydomain。是否有一种方法来禁用http协议?在启动容器时,我只使用-p 443:443

这是我的Dockerfile
ARG version=2.4.48-alpine
FROM httpd:$version
LABEL version=1.0
COPY ./public_html/ /usr/local/apache2/htdocs/
# run web traffic over SSL/HTTPS
COPY ./cert/srv.crt /usr/local/apache2/conf/
COPY ./cert/srv.key /usr/local/apache2/conf/
RUN ["sed", "-i", "-e", "'s/^#(Include .*httpd-ssl.conf)/1/'", "-e", "'s/^#(LoadModule .*mod_ssl.so)/1/'", "-e", "'s/^#(LoadModule .*mod_socache_shmcb.so)/1/'", "conf/httpd.conf"]

EXPOSE 443/tcp

,这是docker ps的输出:

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                          NAMES
21678d6321e4        webserver           "/bin/sh"           2 hours ago         Up About an hour    80/tcp, 0.0.0.0:443->443/tcp   webserver

我解决了将http重定向到https的问题,也暴露了80端口。

最新更新