在 Docker 中启用 Apache SSL 以进行本地开发
我正在对我们当前的旧应用程序进行欺骗。我们使用几种服务,但我有问题的是php,apache,特别是apache的https。我使用的是“php:5.6.30-apache”图像,所以我预装了php和apache。
现在我用这个内容更改了“000-default.conf”:
<VirtualHost *:80>
ServerAdmin admin@admin.io
DocumentRoot /var/www/html/app/htdocsAdmin
ServerName admin.local.app.io
CustomLog /var/log/apache2/app.admin.access.log "trueip_combined"
ErrorLog /var/log/apache2/app.admin.error.log
<Directory /var/www/html/app/htdocsAdmin>
AllowOverride Options FileInfo AuthConfig
Require all granted
</Directory>
</VirtualHost>
这是我的 docker 文件:
FROM php:5.6.30-apache
MAINTAINER Tzook Bar Noy
ADD default /etc/apache2/sites-available/000-default.conf
RUN apt-get update \
&& apt-get install -y apt-utils \
&& apt-get install -y php5-dev php5-memcached \
&& apt-get install -y memcached
RUN apt-get update && apt-get install -y apt-utils
RUN apt-get install -y libz-dev libmemcached-dev
RUN pecl install memcached-2.2.0
RUN echo extension=memcached.so >> /usr/local/etc/php/conf.d/memcached.ini
RUN a2enmod rewrite
RUN a2enmod ssl
EXPOSE 80
EXPOSE 443
不要介意memcached的东西,只要看到我启用了“ssl”并公开了端口80,443
这是使用 docker-compose 运行的:
php:
build:
context: ./php
dockerfile: Dockerfile
ports:
- "80:80"
- "443:443"
volumes:
- ./../../:/var/www/html
networks:
- appnet
tty: true
但是在所有这些之后,我仍然从chrome中得到这个:
"ERR_SSL_PROTOCOL_ERROR"