卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章69232本站已运行4221

Docker 部署 PHP 项目时启用 HTTPS,如何实现?

如何使用 docker 部署 php 项目时启用 https?生成 ssl 证书:使用 openssl 生成自签名 ssl 证书。在 dockerfile 中配置 https:添加命令将 ssl 证书复制到 docker 镜像并设置 nginx 配置。构建和运行镜像:构建包含 https 配置的镜像,然后在 443 端口上运行它。

Docker 部署 PHP 项目时启用 HTTPS,如何实现?

Docker 部署 PHP 项目时启用 HTTPS

HTTPS (安全超文本传输协议) 是一种安全通信协议,可加密在 Web 浏览器和 Web 服务器之间传输的数据。启用 HTTPS 对于保护用户数据和防止数据泄露至关重要。

实现方法

立即学习“PHP免费学习笔记(深入)”;

1. 生成 SSL 证书

你可以使用 openssl 工具生成自签名 SSL 证书:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mykey.pem -out mycert.pem

2. 在 Dockerfile 中配置 HTTPS

在项目 Dockerfile 中,添加以下命令:

# 拷贝 SSL 证书
COPY mykey.pem /etc/ssl/private/nginx.key
COPY mycert.pem /etc/ssl/certs/nginx.crt

# 设置 Nginx 配置
RUN echo "server {" > /etc/nginx/conf.d/https.conf
RUN echo "  listen 443 ssl;" >> /etc/nginx/conf.d/https.conf
RUN echo "  server_name example.com;" >> /etc/nginx/conf.d/https.conf
RUN echo "  ssl_certificate /etc/ssl/certs/nginx.crt;" >> /etc/nginx/conf.d/https.conf
RUN echo "  ssl_certificate_key /etc/ssl/private/nginx.key;" >> /etc/nginx/conf.d/https.conf
RUN echo "}" >> /etc/nginx/conf.d/https.conf

3. 构建和运行镜像

构建包含 HTTPS 配置的 Docker 镜像:

docker build -t my-php-https .

然后运行镜像:

docker run -p 443:443 my-php-https

实战案例

这是一个使用 Docker 部署带有 HTTPS 的 PHP Laravel 项目的实战案例:

// 路由配置
Route::get('/', function () {
    return view('welcome');
});

// 生成 SSL 证书并配置 Nginx
Artisan::call('make:cert');
Artisan::call('nginx:enable');

按照上述步骤后,项目将使用 HTTPS 在 443 端口上运行。

卓越飞翔博客
上一篇: 如何解决golang模块化开发中的依赖冲突?
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏