【Wordpress】docker环境下wordpress网站安装ssl/tls证书

news/2024/5/2 21:47:01/文章来源:https://blog.csdn.net/ET1131429439/article/details/126627144

目录

一、前言

(一)ssl/tls是什么?

(二)docker的wordpress怎么下载?

二、正文

(一)docker环境的wordpress介绍

(二)配置步骤

1、加载Apache SSL模块

2、绑定SSL证书

3、链接配置文件

4、配置http请求强制跳转到https

5、修改完成后重启容器 

6、配置wordpress访问地址


一、前言

简单介绍下wordpress、ssl的概念

(一)ssl/tls是什么?

安全套接字层 (SSL) 是一种加密安全协议。它最初由 Netscape 于 1995 年开发,旨在确保 Internet 通信中的隐私、身份验证和数据完整性。SSL 是如今使用的现代 TLS 加密的前身。实施 SSL/TLS 的网站的 URL 中带有“HTTPS”,而不是“HTTP”。

SSL/TLS 为何重要? 

最初,Web 上的数据是以明文形式传输的,任何人只要截获消息都可以读取。例如,如果消费者访问了购物网站,下了订单并在网站上输入了他们的信用卡号,那么该信用卡号将不加隐藏地在 Internet 上传播。

创建 SSL 就是为了纠正此问题并保护用户隐私。通过对用户和 Web 服务器之间传输的所有数据进行加密,SSL 可确保截获数据的人只能看到混乱的字符。消费者的信用卡号现在可以确保安全,仅在他们输入卡号的购物网站上可见。

SSL 还可以阻止某些类型的网络攻击:它对 Web 服务器进行身份验证,这非常重要,因为攻击者通常会尝试建立伪造网站来欺骗用户并窃取数据。它还可以防止攻击者篡改传输中的数据,就像药品容器上的防篡改封条一样。

SSL 和 TLS 是同一回事吗?

SSL 是另一个称为 TLS(传输层安全性)的协议的直接前身。在 1999 年,互联网工程任务组(IETF)提出了对 SSL 的更新。由于此更新是由 IETF 开发的,不再牵涉到 Netscape,因此名称更改为 TLS。SSL 的最终版本(3.0)与 TLS 的第一版本之间并无明显差异,应用名称更改只是表示所有权改变。

由于它们紧密地联系在一起,这两个术语经常互换使用并混为一谈。有些人仍然使用 SSL 来指代 TLS,其他人则使用术语“SSL/TLS 加密”,因为 SSL 仍然具有很大的知名度。

SSL 仍然没有落伍吗?

SSL 自 1996 年推出 SSL 3.0 以来未曾更新过,现已弃用。SSL 协议中存在多个已知漏洞,安全专家建议停止使用。实际上,大多数现代 Web 浏览器已彻底不再支持 SSL。

TLS 是依然在网络上实施的最新加密协议,尽管有许多人仍将其称为“SSL 加密”。这可能会使购买安全解决方案的消费者感到困惑。事实上,如今提供“SSL”的任何供应商提供的几乎肯定都是 TLS 保护,这已成为二十多年来的行业标准。但是,由于许多人仍在搜寻“SSL 保护”,因此这个术语在许多产品页面上仍然处于醒目位置。

什么是 SSL 证书?

SSL 只能由具有 SSL 证书(技术上称为“TLS 证书”)的网站来实现。SSL 证书就像身份证或徽章一样,证明某人就是他们所说的真实身份。SSL 证书由网站或应用程序的服务器存储并显示在 Web 上。

SSL 证书中最重要的信息之一是网站的公共密钥。公钥使得加密和身份验证成为可能。用户的设备查看公钥,并使用它与 Web 服务器建立安全的加密密钥。同时,Web 服务器还具有一个保密的私有密钥。私钥解密使用公钥加密的数据。

证书颁发机构(CA)负责颁发SSL证书。

至于怎么申请ssl证书,不在本文范围内,请自行百度,以后可能写怎么申请ssl证书的文章

(二)docker的wordpress怎么下载?

进入docker的公开镜像库:Docker Hub

 拉取wordpress镜像

docker pull wordpress:latest

运行wordpress容器,需要开放 80 和 443 端口

# 举个例子
docker run --name wordpress \
-p 80:80 \
-p 443:443 \
--link mysql:mysql \
-v /home/blog/wordpress:/var/www/html \
-tid wordpress:latest# 网络模式使用 bridge的需要映射 80 和 433 端口
# 网络模式使用 host 的就不用配置

进入wordpress容器

docker exec -it wordpress /bin/bash

二、正文

(一)docker环境的wordpress介绍

本文使用的是docker的官方wordpress:last镜像,镜像使用的是apache2,所以我们按照apache配置SSL证书的方法配置即可。

(二)配置步骤

1、加载Apache SSL模块

在wordpress容器中输入a2enmod ssl

a2enmod ssl

第一次会加载,并且提示重启Apache,我们直接从重启容器即可,也可以直接重启Apache

# 输入命令
/etc/init.d/apache2 reload

2、绑定SSL证书

Apache 加载 SSL 模块后,会在 /etc/apache2/sites-available 下生成 default-ssl.conf 文件,编辑该文件,可以看到

SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

上述两行配置就是证书的存放位置,我们只需要把第三方可信CA签发的证书相应的文件上传至对应位置即可。

ssl-cert-snakeoil.pem:为证书,文件内容是这样

-----BEGIN CERTIFICATE-----
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-----END CERTIFICATE-----


ssl-cert-snakeoil.key:为密钥,文件内容是这样

-----BEGIN PRIVATE KEY-----
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-----END PRIVATE KEY-----

先把ssl-cert-snakeoil.pem 和 ssl-cert-snakeoil.key 上传到宿主机。然后直接用docker cp将文件复制进wordpress容器中

docker cp 宿主机文件路径/ssl-cert-snakeoil.pem 容器名:/etc/ssl/certs
docker cp 宿主机文件路径/ssl-cert-snakeoil.key 容器名:/etc/ssl/private

3、链接配置文件

从 apache 的配置文件 apache2.conf 可以看到,apache 只会读取 /etc/apache2/sites-enabled 目录的配置文件,所以需要把 /etc/apache2/sites-available 下的 default-ssl.conf 文件链接到 /etc/apache2/sites-enabled 目录下。

ln -s /etc/apache2/sites-available/default-ssl.conf \
/etc/apache2/sites-enabled/default-ssl.conf

4、配置http请求强制跳转到https

编辑 /etc/apache2/sites-available/000-default.conf

在 <VirtualHost *:80> </VirtualHost> 标签中增加下面的配置

<Directory "/var/www/html"> RewriteEngine   onRewriteBase /# FORCE HTTPSRewriteCond %{HTTPS} !=onRewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</Directory>

5、修改完成后重启容器 

docker restart wordpress

6、配置wordpress访问地址

一定要保证 https 和 http 两种方式都能正常访问网站,才能改这个配置,否则可能导致网站无法访问。

进入wordpress后台中,【设置】-【常规】中配置WordPress 地址(URL)站点地址(URL)两个地址的 http协议 修改为 https协议 并保存。

或者直接在wordpress数据库的wp-options表改

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

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

相关文章

初识react笔记

https://reactjs.org 官网 在开始前&#xff0c;请确保你的电脑安装了node&#xff0c;不知道装没装&#xff0c;就命令行工具node -v 一下 一&#xff1a;安装官方脚手架create-react-app 第一种npm install -g create-react-appcreate-react-app 项目名称 第二种npx create…

视频流PS打包方式详解

文章目录 视频流PS打包方式详解 1 PS流概述 2 PS封装格式 2.1 PES格式详解 2.2 PS头封装格式 2.3 PS system header封装格式 2.4 PSM封装格式 3 PS流整包发送和分包发送 1 PS流概述 PS流: Program Stream(节目流)&#xff0c;简称PS流&#xff0c;将一个或多个分组但有共…

【python】计算mel频率可能比你想象的要复杂一点

Mel计算公式 计算mel频率可以直接套用公式&#xff0c; 公式如下&#xff0c; m2595log10(1f700)m 2595 log_{10}(1 \frac{f} {700}) m2595log10​(1700f​) 所以实现上如下 import numpy as np import librosadef mel_calculate(freq):return 2595 * np.log10(1freq/700)…

猿创征文|小而巧的API文档生成工具之smart-doc

文章目录smart-doc介绍smart-doc特性smart-doc的最佳搭档谁在使用smart-docsmart-doc的优缺点smart-doc和swagger区别比较smart-doc的使用姿势姿势一姿势二姿势三&#xff08;公司内部推荐使用&#xff09;总结smart-doc介绍 一个 java restful api 文档生成工具&#xff0c;不…

为了进大厂!吃透了各大厂最新 3000+Java 面试题,啃完面试肯定妥了!

在很多企业&#xff0c;都有 KPI 考核&#xff0c;然后在此基础上还会弄个“末位淘汰”( 或者叫“人员优化”)。互联网大厂残酷现状在此&#xff0c;无法避免&#xff0c;为了助力程序员朋友们跳槽面试、升职加薪、职业困境&#xff0c;提高自己的技术&#xff0c;逃脱掉“人员…

【翻译】A Closed-form Solution to Universal Style Transfer

通用风格迁移的闭式解决方案 文章目录Abstract1. Introduction2. Related Work3. 动机4. Method5. Results5.1. 定性结果5.2. 定量结果5.3. 更多结果5.4. 限制条件6. 结论Abstract 通用风格转换试图明确地将特征空间的损失降到最低&#xff0c;因此它不需要对任何预先定义的风…

牛视源码定制,抖音矩阵系统,别和谐啊、、、

抖音SEO内容如何制作&#xff1f; 现在网上有很多这种关于自己行业的一些数据分析的一些文章&#xff0c;大家可以去看一下。 所以看到这里&#xff0c;我们把做好抖音SEO需要的步骤其实也就四步&#xff0c;但是过程是需要不断的测试和优化。 四、SEO如何优化&#xff1f; …

配置本地Maven仓库——IDEA配置本地Maven源

Maven基础配置 现在大多数都是使用maven管理项目所需的资源文件&#xff0c;可是因为maven的远程仓库多数都很难下载&#xff0c;所以我们可以通过配置国内镜像&#xff0c;配置本地maven源。 1、下载maven maven下载链接 2、maven下载后是一个压缩包&#xff0c;直接解压即可…

利用HFSS-API设计指数渐变传输线

学个Antenna是以天线仿真和调试为主&#xff0c;理论原理为辅的干货天线技术专栏&#xff0c;包括天线入门知识以及各类天线的原理简介、仿真软件建模、设计、调试过程及思路。如有想看到的内容或技术问题&#xff0c;可以在文尾写下留言。 ​摘要&#xff1a; 上节学个Antenna…

纵横网络靶场 刷题记录

目录 Modbus协议 MMS协议分析 大工UDP协议 工控蜜罐日志分析 隐信道数据安全分析 工控安全取证 隐藏的黑客 Modbus协议 黑客通过外网进入一家工厂的控制网络&#xff0c;之后对工控网络中的操作员站系统进行了攻击&#xff0c;最终通过工控协议破坏了正常的业务。我们得…

Linux学习笔记

Linux安装在VM上 直接安装即可&#xff0c;或者打开VMX文件&#xff0c;挂载到VM上 Linux的目录结构 /代表根目录。~不同的用户&#xff0c;代表的目录不同。 超级管理员用户&#xff1a;root&#xff0c;终端中显示~&#xff0c;表示/root目录 普通用户&#xff1a;在hom…

手写一个泛型双向链表

前言 在当前大环境的背景下面试不问点算法都不算个合格的面试了&#xff08;卷&#xff09;&#xff0c;而与算法紧密相关的数据结构也是经常问到的&#xff0c;像集合、链表、树、图、栈、堆、队列、矩阵 等等等等。 是不是感觉难度如下&#xff1a; 集合&#xff1a;有手就…

分布式缓存Hazelcast的部署及与SpringBoot整合使用

目录一、简介二、安装2.1 使用Docker形式部署2.2 客户端命令行2.3 Web管理页面三、与SpringBoot项目整合3.1 pom依赖3.2 配置类3.3 使用方式一、简介 官方文档&#xff1a;https://docs.hazelcast.com/hazelcast/latest/clients/java Github地址:https://github.com/hazelcast…

《MeInGame: Create a Game Character Face from a Single Portrait 》论文解读

一&#xff1a;论文干了件什么事 从单张图片生成一个游戏中的虚拟形象&#xff0c;且&#xff0c;论文的方法对光照强度&#xff0c;光照阴影遮挡等具有很好的鲁棒性&#xff0c;可以忠实还原肤色、妆容和皱纹等个性化细节。 摘要&#xff1a; 近年来&#xff0c;基于深度学习…

使用iptables动态映射Docker容器端口

0x0. 安装telnet telnet介绍&#xff1a;https://zh.wikipedia.org/wiki/Telnet 本文用于测试指定端口是否开放&#xff0c;命令如下&#xff1a; telnet [ip] [port]参数解释&#xff1a; ip&#xff1a;ip地址port&#xff1a;端口 如果指定端口开放则结果如下&#xff1a…

Libra论文阅读笔记-A unified congestion control framework for diverse application

目录一、Overview二、问题背景三、Libra方案overview四、Libra方案设计五、RL-based CCA算法总结论文题目&#xff1a;《A unified congestion control framework for diverse application preferences and network conditions》 CoNEXT’21 一、Overview 目前的拥塞控制算法(…

Python代码优化工具——memory_profiler

Python代码优化工具——memory_profiler一、工具介绍二、安装三、分析结果注解四、使用1、使用python命令进行分析&#xff08;1&#xff09;使用姿势1&#xff08;2&#xff09;示例1&#xff08;3&#xff09;该姿势的利弊1&#xff08;4&#xff09;使用姿势2&#xff08;5&…

Python 程序员过中秋

Python 程序员过中秋 又是一年中秋至-----花好月圆夜&#xff0c;佳文当共鉴。Python PyQt5制作音乐播放界面 CSDN官方活动征文入口 文章目录1. 引言1.1 编写目的1.2 术语1.3 项目开发环境2. 业务概述3.PyQt5简单介绍3.1 手机上的Qt无处不在3.2 惊人的图形能力和性能3.3 Qt 5…

多线程编程(二):List组装

在日常工作中&#xff0c;难免遇到在循环体中组装List的场景&#xff0c;一般来说&#xff0c;不考虑多线程的话&#xff0c;实现起来非常简单。 比如&#xff0c;拟定一个场景&#xff0c;给定0-9999&#xff0c;共10000个数字&#xff0c;组装2个列表&#xff1a;奇数列表、…

Windows与网络基础-7-windows基本命令-目录文件操作

Windows基础命令 目录 一、目录和文件的应用操作 1.1 cd命令 1.2 dir命令 1.3 md或mkdir 1.4rd或rmdir 1.5 move 1.6 copy 1.7 Xcopy 1.8 Del或rease 目标&#xff1a; 掌握windwos系统文件及目录操作的一些命令 掌握windwos网络相关的命令 Window输入命令&#xff…