docker安装nginx并配置https

参考 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端口,用于SSLserver_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.rhkb.cn/news/378447.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「漏洞复现」同享人力资源管理系统-TXEHR V15 DownloadTemplate 文件读取漏洞

0x01 免责声明 请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具来自网络,安全性自测,如有侵权请联系删…

权威认可 | 海云安开发者安全助手系统通过信通院支撑产品功能认证并荣获信通院2024年数据安全体系建设优秀案例

近日,2024全球数字经济大会——数字安全生态建设专题论坛(以下简称“论坛”)在京成功举办。由全球数字经济大会组委会主办,中国信息通信研究院及公安部第三研究所共同承办,论坛邀请多位专家和企业共同参与。 会上颁发…

Python JSON处理:兼容性与高级应用

JSON(JavaScript Object Notation)作为当前最流行的数据传输格式,在Python中也有多种实现方式。由于JSON的跨平台性和简便易用性,它在数据交互中被广泛应用。本文将重点讨论如何熟练应用Python的JSON库,将JSON数据映射…

STM32智能交通灯系统教程

目录 引言环境准备智能交通灯系统基础代码实现:实现智能交通灯系统 4.1 数据采集模块 4.2 数据处理与控制模块 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景:交通管理与优化问题解决方案与优化收尾与总结 1. 引言 智能交通灯系统通过STM…

数据精度丢失

js数据精度丢失 最近看面试题想到了之前在开发钟遇到过的问题,现总结一下 在开发过程中,发现从后台返回的数据结构中的id字段在前端显示为不正确的值。经过排查,怀疑是JavaScript中Number类型精度丢失的问题。通过将id字段的类型从Number改为…

朴素模式匹配算法与KMP算法(非重点)

目录 一. 朴素模式匹配算法1.1 什么是字符串的匹配模式1.2 朴素模式匹配算法1.3 通过数组下标实现朴素模式匹配算法 二. KMP算法2.1 算法分析2.2 用代码实现(只会出现在选择题,考察代码的概率不大) 三. 手算next数组四. KMP算法的进一步优化4…

pdf工具

iLovePDF | 为PDF爱好者提供的PDF文件在线处理工具 https://www.ilovepdf.com/zh-cn 图片 pdf 合并成一个pdf也可以拆分

工业三防平板可优化工厂流程管理

在当今高度自动化和数字化的工业生产环境中,工业三防平板正逐渐成为优化工厂流程管理的关键工具。其强大的功能和卓越的性能,为工厂带来了更高的效率、更低的成本以及更出色的质量控制。 工业三防平板,顾名思义,具备防水、防尘、防…

【持续集成_06课_Jenkins高级pipeline应用】

一、创建项目选择pipeline的风格 它主要是以脚本(它自己的语言)的方式进行运行,一般由运维去做的事情,作为测试而言。了解即可。 --- 体现形式全部通过脚本去实现:执行之前(拉取代码)执行&…

萝卜快跑:未来出行的双刃剑

欢迎来到 破晓的历程的 博客 ⛺️不负时光,不负己✈️ 在这个日新月异的科技时代,无人驾驶技术正以前所未有的速度改变着我们的出行方式。萝卜快跑,作为自动驾驶出租车领域的佼佼者,其出现无疑为城市交通注入了新的活力&#xff…

入坑树莓派(2)——树莓派4B与手机蓝牙通信

入坑树莓派(2)——树莓派4B与手机蓝牙通信 1、引言 在入坑树莓派(1)中已经搞掂了可视化问题。现在继续开展下一步,尝试与手机通信,一开始是想弄wifi连接的,但发现基于wifi的APP比较难弄,为了降低开发的难度,又因为树莓派板子自带蓝牙模块,所以直接选用蓝牙连接手机…

【数据结构】队列

目录 队列队列的模拟实现队列的链式实现接口实现内部类入队列出队列获取队头元素 但是不删除 判空获取队列元素个数 队列的顺序实现(循环队列)直接使用顺序表的缺陷接口实现成员变量构造器,设置队列长度为 k向循环队列插入一个元素 成功插入则…

IMU用于针对帕金森患者的去震颤餐勺

近期,一项由土耳其科研人员开发的创新成果FiMec智能防颤勺子,为手部震颤患者带来了福音。这款设备运用先进的振动抑制技术和精密的机器人设计,旨在帮助因神经肌肉系统障碍而遭受手颤困扰的人士实现自主进食。 FiMec智能勺子采用两自由度设计…

点云机器学习算法ICP点云配准方法

点云配准(point cloud registration)的目的是将多个三维点云数据集对齐,以形成一个统一的三维模型。其应用范围广泛,包括机器人定位与导航、三维重建、逆向工程、医学成像、环境感知等。点云配准过程可详细划分为初始对齐、最近点查找、变换矩阵计算、应…

【Chatgpt大语言模型医学领域中如何应用】

随着人工智能技术 AI 的不断发展和应用,ChatGPT 作为一种强大的自然语言处理技术,无论是 自然语言处理、对话系统、机器翻译、内容生成、图像生成,还是语音识别、计算机视觉等方面,ChatGPT 都有着广泛的应用前景。特别在临床医学领…

sentinel网关限流配置及使用

sentinel控制台源码:https://download.csdn.net/download/yixin605691235/89543923 sentinel控制台jar包:https://download.csdn.net/download/yixin605691235/89543931 不同环境直接修改jar包中的application.yml文件中的nacos地址就可以了。 一、网关限…

【简历】郑州某二本学院:前端秋招简历指导,简历通过率接近于0

注:为保证用户信息安全,姓名和学校等信息已经进行同层次变更,内容部分细节也进行了部分隐藏 简历说明 这是一份二本前端同学的校招简历。25届的二本同学求职方向主要是在小公司,但是这个同学他故意把学校放在简历最后&#xff0…

【Agent】信息提取场景

文章目录 场景说明超参数调整top_ktop_ptemparetureresponse_format 提示词优化提取任务通用提示词模板防止badcase的提示词特殊符合划分待提取内容 提取的后处理评估提取性能Experiment1、通过符号学定位原文信息1.1 首位字符在原文中的index1.2 首尾N个字符,中间字…

24/7/12总结

axios Axios 是一个基于 promise 网络请求库&#xff0c;作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。 get请求: <script>function…

TypeScript 函数类型 (二)

函数类型 函数有两种方式定义 function 关键字来定义函数 function a(){}表达式定义&#xff08;箭头函数的形式&#xff09; const a()>{}函数需要定义类型的有三个地方 入参 和 返回值 以及 函数本身 的类型, 函数本身的类型常用于表达式定义的函数 function sum(a:stri…