Docker 中启动 NGINX 并配置 HTTPS 443 端口

devtools/2024/11/15 21:54:44/

在 Docker 中启动 NGINX 并配置 HTTPS 443 端口时,你需要挂载 SSL 证书和密钥文件,并更新 NGINX 配置文件。以下是详细步骤:

1. 准备证书文件

确保你有 SSL 证书和私钥文件,通常是两个文件:

  • certificate.crt(证书文件)
  • certificate.key(私钥文件)

将这两个文件放到主机的一个目录下,比如:/path/to/certificates/

2. 配置 NGINX 配置文件

在 NGINX 的配置文件中,为 HTTPS 配置 443 端口并指定证书路径。你可以创建一个自定义的 NGINX 配置文件 nginx.conf,如下所示:

server {listen 443 ssl;server_name your_domain.com;# 此处使用docker容器内的地址ssl_certificate /etc/nginx/certificates/certificate.crt;ssl_certificate_key /etc/nginx/certificates/certificate.key;location / {proxy_pass http://your_backend;}
}server {listen 80;server_name your_domain.com;# 自动重定向到 HTTPSreturn 301 https://$host$request_uri;
}

在上面的配置中:

  • 替换 your_domain.com 为你的域名。
  • ssl_certificatessl_certificate_key 指向证书和密钥的挂载路径。

3. 使用 Docker 启动 NGINX 并挂载证书

在 Docker 启动命令中挂载证书文件夹以及自定义的 nginx.conf 配置文件:

	docker run -d --name nginx-https \-p 80:80 -p 443:443 \-v /path/to/certificates:/etc/nginx/certificates \-v /path/to/nginx.conf:/etc/nginx/nginx.conf \nginx

在此命令中:

  • -v /path/to/certificates:/etc/nginx/certificates 将主机的证书目录挂载到容器中。
  • -v /path/to/nginx.conf:/etc/nginx/nginx.conf 将自定义的 nginx.conf 配置文件挂载到 NGINX 容器中。

4. 验证配置

启动容器后,可以检查容器日志或进入容器查看 NGINX 的状态,以确保 HTTPS 配置正确。


http://www.ppmy.cn/devtools/134267.html

相关文章

Unity 网格模型及优化

一个模型中可以包含很多网格,一个模型可以由多个网格组成。在Unity3D中一个网格可以由多个子网格(Sub-Mesh)组成。 在渲染引擎的时候,每个子网格都要匹配一个材质球来做渲染,实际上一个子网格本身就是一个个普通的模型&#xff0…

Spring Boot与工程认证:计算机课程管理的新范式

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了基于工程教育认证的计算机课程管理平台的开发全过程。通过分析基于工程教育认证的计算机课程管理平台管理的不足,创建了一个计算机管理基于工程教育认…

什么是UDP和TCP?有什么区别?应用场景分别都有哪些?

UDP(用户数据报协议)和TCP(传输控制协议)都是互联网协议套件的一部分,用于在网络中传输数据。它们都位于OSI模型的传输层,但两者在工作方式、可靠性和使用场景上存在显著差异。 UDP (User Datagram Protoc…

在 CentOS 系统中,您可以使用多种工具来查看网络速度和流量

在 CentOS 系统中,您可以使用多种工具来查看网络速度和流量 在 CentOS 系统中,您可以使用多种工具来查看网络速度和流量1. 使用 iftop安装 iftop使用 iftop 2. 使用 nload安装 nload使用 nload 3. 使用 vnstat安装 vnstat初始化 vnstat查看流量 4. 使用 …

【多语言】每种语言打印helloworld,编译为exe会占多大空间

文章目录 背景c语言 53KBc 53KBgo 1.8Mdart 4.6Mpython未测试nodejs未测试rust 4.1M (linux)java未测试cmd || bash || powershell 未测试other 背景 各个版本的helloworld,纯属闲的, 环境如下: - win10 - mingw: gcc8.1.0 - go1.21 - dart3.5.4c语言 53KB gcc m…

Tomcat漏洞利用工具-TomcatScanPro(二)

项目地址 https://github.com/lizhianyuguangming/TomcatScanPro 简介 本项目是一个针对 Tomcat 服务的弱口令检测、漏洞检测以及本地文件包含(LFI)攻击工具。除了支持 CVE-2017-12615 漏洞的多种利用方式外,新版本还集成了 CNVD-2020-104…

vue中:class语法的{}[]两种用法及其使用场景例子

语法 :class"对象/数组" ① 传对象 →键就是类名&#xff0c;值是布尔值。如果值为 true&#xff0c;则当前元素含有这个类实现这个类的样式&#xff0c;否则没有这个类&#xff0c;不去实现 <div class"box":class"{ 类名1:布尔值&#xf…

【JavaScript踩坑记录】

数组push踩坑记录 问题介绍解决办法总结 问题介绍 最近在写一个嵌套了表格的对话框&#xff0c;要实现点击一个按钮就弹出一个新对话框&#xff0c;对话框内有一系列配置项&#xff0c;配置保存后为表格新增一行的功能&#xff0c;数据结构比较复杂。 对话框数据结构为&#x…