docker安装nginx并配置https

news2024/11/15 6:45:29

参考 docker安装nginx并配置https-腾讯云开发者社区-腾讯云 (tencent.com)

证书的生成 参见:SpringBoot项目配置HTTPS接口的安全访问(openssl配置)_配置接口访问-CSDN博客

步骤 1: 拉取Nginx镜像

docker pull nginx

好使的镜像如下:

vim /etc/docker/daemon.json

systemctl restart docker

docker images

 二、进行配置

建目录用于存放nginx配置文件、证书文件

将你的SSL证书和私钥文件(通常为.crt.key格式)放置到/home/dockerinstall/nginx/cert目录下。
 
sudo yum install lrzsz

2、需要SSL的情况

a)如果不需要访问http的时候强制重定向为https,可以用下面的配置

server{
    listen 80; #侦听80端口,如果强制所有的访问都必须是HTTPs的,这行需要注销掉
    listen 443 ssl; #侦听443端口,用于SSL
    server_name 192.168.1.247;  # 自己的域名
    ssl_certificate /etc/nginx/ssl/server1.crt;
    ssl_certificate_key /etc/nginx/ssl/server1.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;

    client_max_body_size 1024m;

    location / {
        proxy_set_header HOST $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	    # 这里写的是我的内网地
        proxy_pass http://192.168.1.247:9000;
    }
}

三、启动Nginx

docker run -itd --name nginx -p 80:80 -p 443:443 -v /home/dockerinstall/nginx/conf.d/nginx.conf:/etc/nginx/conf.d/nginx.conf -v /home/dockerinstall/nginx/cert:/etc/nginx/ssl -m 100m nginx

80端口已被占用了 

改为监听8080端口

sudo netstat -tulnp | grep :80

如果您想要将 Docker 容器中的 Nginx 监听端口从 80 改为 8080,并且仍然保留 443 端口用于 HTTPS,您需要修改 Docker 运行命令中的端口映射部分。具体来说,您需要将 -p 80:80 改为 -p 8080:80,这样宿主机的 8080 端口就会被映射到容器内的 80 端口上。

修改配置

删除已启动的nginx

docker run -itd --name nginx -p 8080:80 -p 443:443 -v /home/dockerinstall/nginx/conf.d/nginx.conf:/etc/nginx/conf.d/nginx.conf -v /home/dockerinstall/nginx/cert:/etc/nginx/ssl -m 100m nginx

参数说明

-itd    后台运行
-p      指定端口80和443
-v      将本地的文件映射到docker中
        配置文件 /opt/docker/nginx/conf.d/nginx.conf -> /etc/nginx/conf.d/nginx.conf
        证书文件 /opt/docker/nginx/cert -> /etc/nginx
-m      限制使用内存大小
--name  指定名字为nginx

启动发现 发现https没有被监听上 欢迎 key有密码的原样,重新生成下

openssl rsa -in server1.key -out server1_rsa.key
Enter pass phrase for server1.key:
writing RSA key

重启nginx

测试下 

curl -v https://192.168.1.247/

这样就可以请求到了
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1925005.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DockerCompose拉取DockerHub镜像,并部署OpenMetaData

参考博主:http://t.csdnimg.cn/i49ET 一、DockerCompose拉取DockerHub镜像 方法一(不太行): 在daemon.json文件中添加一些国内还在服务的镜像站(可能某些镜像会没有) ([ -f /etc/docker/daemon.json ] ||…

RK3568笔记三十五:LED驱动开发测试

若该文为原创文章,转载请注明原文出处。 字符设备驱动程序的基本框架,主要是如何申请及释放设备号、添加以及注销设备,初始化、添加与删除 cdev 结构体,并通过 cdev_init 函数建立 cdev 和 file_operations 之间的关联&#xff0c…

每日一练:奇怪的TTL字段(python实现图片操作实战)

打开图片,只有四种数字:127,191,63,255 最大数字为255,想到进制转换 将其均转换为二进制: 发现只有前2位不一样 想着把每个数的前俩位提取出来,组成新的二进制,然后每…

Python中的数据容器及其在大数据开发中的应用

在Python编程中,数据容器是存储和组织数据的基本工具。作为大数据开发者,了解并灵活运用各种容器类型对于高效处理大规模数据至关重要。今天,我们将从Set出发,探讨Python中的各种数据容器,以及它们在大数据处理中的应用…

社交App iOS审核中的4.3问题:深入分析与解决策略

社交App审核中的4.3问题:深入分析与解决策略 在iOS应用开发和审核过程中,开发者经常会遇到苹果审核4.3问题。这一问题往往涉及应用的设计和内容重复性,导致应用被拒绝上架。为了帮助开发者更好地理解和解决这一问题,本文将对4.3问…

基于复旦微JFMQL100TAI的全国产化FPGA+AI人工智能异构计算平台,兼容XC7Z045-2FFG900I

基于上海复旦微电子FMQL45T900的全国产化ARM核心板。该核心板将复旦微的FMQL45T900(与XILINX的XC7Z045-2FFG900I兼容)的最小系统集成在了一个87*117mm的核心板上,可以作为一个核心模块,进行功能性扩展,能够快速的搭建起…

C语言操作符优先级

1 C语言操作符优先级 熟悉操作符的优先级,避免意外的求值顺序。 2. 运算符优先级记忆方法 利用优先级表或常见记忆口诀来记忆运算符的优先级。

嵌入式人工智能应用-篇外-烧写说明

1 外部接线 1.1 前期准备 需要准备的工具 ⚫ 一根 Mini USB 线 ⚫ 嵌入式人工智能教学科研平台 ⚫ 12V DC 电源 ⚫ 一台电脑 1.2 接线 12V DC 电源接入 12V IN;Mini USB 线连接 USB OTG;如果有两条 Mini USB 线,可以接入 UART2 to USB 口…

python2

一、条件语句 具体有如下:if、if......elif、if......elif......else 注意格式: if后面的条件表达式没有(),以:作为结尾对于多分支的条件,不是写成else if 而是elif注意条件下一行要有缩进 …

Stable Diffusion 使用

目录 背景 最简单用法 进阶用法 高手用法 safetensor 一、概述 二、主要特点 背景 Stable Diffusion 开源后,确实比较火,上次介绍了下 Stable Diffusion 最简单的concept。今天继续介绍下,以Liblib 为例,介绍下如何使用参…

排序——交换排序

在上篇文章我们详细介绍了排序的概念与插入排序,大家可以通过下面这个链接去看: 排序的概念及插入排序 这篇文章就介绍一下一种排序方式:交换排序。 一,交换排序 基本思想:两两比较,如果发生逆序则交换…

Java | Leetcode Java题解之第234题回文链表

题目: 题解: class Solution {public boolean isPalindrome(ListNode head) {if (head null) {return true;}// 找到前半部分链表的尾节点并反转后半部分链表ListNode firstHalfEnd endOfFirstHalf(head);ListNode secondHalfStart reverseList(firs…

《BASeg: Boundary aware semantic segmentation for autonomous driving》论文解读

期刊:Neural Networks | Journal | ScienceDirect.com by Elsevier 年份:2023 代码:https://github.com/Lature-Yang/BASeg 摘要 语义分割是自动驾驶领域街道理解任务的重要组成部分。现有的各种方法要么专注于通过聚合全局或多尺度上下文…

读人工智能全传12人工智能导致的问题1

1. 人工智能会导致什么问题 1.1. 人工智能是一门通用技术:它的应用仅仅受限于我们的想象 1.1.1. 所有的技术都可能产生意想不到的效果,未来几十年甚至几百年内都存在可能性 1.2. 所有的技术都可能被滥用 1.2.1. 我们的无名氏祖先率先用上了火&#x…

C#统一委托Func与Action

C#在System命名空间下提供两个委托Action和Func,这两个委托最多提供16个参数,基本上可以满足所有自定义事件所需的委托类型。几乎所有的 事件 都可以使用这两个内置的委托Action和Func进行处理。 Action委托: Action定义提供0~16个参数&…

【深度学习】PyTorch深度学习笔记01-Overview

参考学习:B站视频【《PyTorch深度学习实践》完结合集】-刘二大人 ------------------------------------------------------------------------------------------------------- 1. 基于规则的深度学习 2. 经典的机器学习——手动提取一些简单的特征 3. 表示学习…

【接口设计】为 APP、PC、H5 网页提供统一风格的 API(实战篇,附源码地址)

为 APP、PC、H5 网页提供统一风格的 API 1.实现文章实体2.实现数据持久层3.实现服务接口和服务接口的实现类3.1 创建服务接口3.2 编写服务接口的实现 4.处理返回结果4.1 实现响应的枚举类4.2 实现返回的对象实体4.3 封装返回结果 4.统一处理异常4.1 全局捕捉异常4.2 自定义异常…

【防火墙】防火墙安全策略用户认证综合实验

实验拓扑及要求 拓扑搭建及IP配置 防火墙(总公司)和交换机(汇聚生产区和办公区)的接口配置 生产区在vlan2,办公区在vlan3,防火墙在G1/0/3接口上创建子接口G1/0/3.1和G1/0/3.2对两个区域分别进行管理 交换…

时间轮算法理解、Kafka实现

概述 TimingWheel,时间轮,简单理解就是一种用来存储若干个定时任务的环状队列(或数组),工作原理和钟表的表盘类似。 关于环形队列,请参考环形队列。 时间轮由两个部分组成,一个环状数组&…

企业智能制造赋能的环境条件为什么重要?需要准备什么样的环境?

在全球制造业不断演进的今天,智能制造已经成为推动行业创新和转型的关键力量。它不仅代表了技术的革新,更是企业管理模式和运营思路的全面升级。然而,智能制造的落地实施并非一蹴而就,它需要企业在环境条件上做好充分的准备&#…