前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Apache配置ssl支持https

Apache配置ssl支持https

作者头像
mythsman
发布于 2022-11-14 08:20:04
发布于 2022-11-14 08:20:04
2K00
代码可运行
举报
运行总次数:0
代码可运行

前言

很明显apache原生是不支持https的,无论是用https访问自身的站点,还是代理来自其他网站的https的站点。毕竟人家https走的端口是443,都不是默认的80。

那么如何让apache支持https呢,其实只要添加下ssl模块再修改下配置就好了。

准备工作

首先要导入apache的ssl模块,即$sudo a2enmod ssl ,保证/etc/apache2/mods-enabled/ 目录下有对应的ssl模块文件。

然后利用openssl命令,生成必要的密钥文件等:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
【生成一个自签名证书】
$ openssl genrsa -out ca.key 2048

【生成证书签名请求(CSR)】
$ openssl req -new -key ca.key -out ca.csr

【生成X509自签名证书】
$ openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt

三条命令各生成三个文件,把这三个文件保存好,这里我把他全部放在了/etc/apache2/key文件夹下了。

配置https正向代理

对于https的正向代理,在http的正向代理配置的基础上,只要额外添加下面的配置即可:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SSLProxyEngine on
SSLCertificateFile /etc/apache2/key/ca.crt
SSLCertificateKeyFile /etc/apache2/key/ca.key

文件路径分别对应上面的密钥文件。

重启服务器即可代理https协议了。

配置https站点

我们知道对于通常的http站点,他的配置路径是在/etc/apache2/sites-enabled/000-default.conf上,但是我发现如果直接在这里配置https站点则会不起效果。一番捣鼓之后发现,其实为了区分http和https站点并加以分别配置,apache2还特地给了另外一份配置文件,这份配置文件的模板需要我们用下面的命令得到:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ sudo a2ensite
Your choices are: 000-default default-ssl
Which site(s) do you want to enable (wildcards ok)?
default-ssl

之后我们就会发现,出现了一个/etc/apache2/sites-enabled/default-ssl.conf文件,没错,我们就可以在这里配置对应的站点了。 在这个配置文件里,主要是要修改四项:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DocumentRoot /var/www/html/wordpress
SSLEngine on
SSLCertificateFile  /etc/apache2/ssl/cert_chain.crt
SSLCertificateKeyFile /etc/apache2/ssl/private.key

修改好后,重启服务即可。 最后我们可以将利用htaccess文件将80端口的请求转发到443端口,这样更加漂亮。

关于证书

当然,我们自己生成的证书是不被浏览器认可的,通常访问的用户都会被告知这是一个不安全的链接,尤其是chrome,那个红色背景格外的吓人,因此如果是真的想让自己的网站能用https,要么去花钱买证书,要么去用人家免费的,我这里用的是sslforfree的证书,不过麻烦的是这个东西得每隔三个月更换一次。。。 具体的使用方法可以参考这篇文章

参考资料

CentOS中Apache服务器HTTPS配置方法 Apache + WordPress + SSL 完全指南 申请免费的SSL证书

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
apache配置https服务
1、创建自己签名的证书 #创建CA签名的证书,需要用到openssl yum install openssl #创建key openssl genrsa -des3 -out server.key 1024 #创建csr(证书签发请求) openssl req -new -key server.key -out server.csr #生成自己签
宅蓝三木
2018/02/07
1.6K0
Linux下配置Apache实现HTTPS访问
Linux下编译安装Apache并且配置HTTPS访问。https是超文本传输安全协议,是一种网络安全传输协议。http协议传输的数据都没有加密,一些私密的信息不安全,https经由超文本传输协议(http)进行通信,利用SSL/TLS来加密数据包,https开发的主要目的就是为了保护数据传输的安全性。
星哥玩云
2022/07/14
3.7K0
Linux下配置Apache实现HTTPS访问
如何在Linux下的Apache环境部署SSL证书
随着HTTPS的火热,越来越多的小伙伴愿意去配置SSL证书(毕竟全浏览器绿标哦),上次发布了如何在IIS环境下配置SSL后,部分小伙伴留言说需要阿帕奇的教程,今天我们就为大家更新下哈。(上次也说了,HTTPS有什么样的好处,大家不会不知道吧)
乐网网络
2019/04/09
2.4K0
如何在Linux下的Apache环境部署SSL证书
LAMP下HTTPS配置「建议收藏」
LAMP下配置HTTPS非常简单,本文主要介绍ubuntu下apache配置https的具体步骤和流程,证书为服务器生成的本地证书,希望对大家有所帮助。
全栈程序员站长
2022/09/06
6630
Apache 使用ssl模块配置HTTPS
Web服务器在默认情况下使用HTTP,这是一个纯文本的协议。正如其名称所暗示的,纯文本协议不会对传输中的数据进行任何形式的加密。而基于HTTP的Web服务器是非常容易配置,它在安全方面有重大缺陷。任何”中间人”,通过精心防止的数据包嗅探器,是能够看到任何经过的数据包内容。更进一步,恶意用户甚至可以在传输路径设置一个假冒的WEB服务器冒名顶替实际的目标Web服务器。在这种情况下,最终用户可能实际上与假冒者服务器,而不是真正的目的服务器进行通信。这样,恶意用户可以通过精心设计的表单欺骗终端用户获取到敏感信息,如用户名密码。
阳光岛主
2019/02/18
6.2K0
Apache 使用ssl模块配置HTTPS
Ubuntu下为Apache2配置SSL
参考文章:http://blog.csdn.NET/Sky_qing/article/details/44303221 启用 ssl 模块 sudo a2enmod ssl 2.安装openssl sudo apt-get install  openssl 3. 创建CA签名(不使用密码去除-des3选项) openssl  genrsa -des3 -out server.key 1024 4. 创建CSR(Certificate Signing Request) openssl req -new -k
96php.cn
2018/04/28
2.4K0
Ubuntu下为Apache2配置SSL
Apache HTTP Server入门操作
Apache HTTP Server 是业内使用很广泛的 web 服务器之一,支持 HTTP,HTTPS 协议,正向,反向代理等功能。但是对于其配置和使用还是有很多朋友不太清楚,今天我们就一起来了解下其基础的配置和使用。
Python研究所
2022/06/17
1.2K0
Apache HTTP Server入门操作
Linux下Apache SSL配置,即开启https访问
首先需要安装openssl和apache的ssl模块,默认ssl模块是不安装的,需要执行:
kl博主
2023/11/17
8770
openssl 证书生成笔记(go 1.15版本以上)
golang 1.15+版本上,用 gRPC通过TLS实现数据传输加密时,会报错证书的问题
阿兵云原生
2023/02/16
6110
Apache配置详解(最好的APACHE配置教程)
Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。
全栈程序员站长
2022/09/14
8.6K0
windows下对apache配置https协议的方法
windows下对apache配置https协议: 1、安装好apache环境,注意要装ssl版本的。这里装在c:/apache目录下。 2、生成服务器证书: 1)在DOS命令下进入apache/bin目录 2)在windows环境下需先设置Openssl环境变量:
用户7639835
2021/08/27
2.3K0
SSL 证书生成
生成CA私钥(.key)–>生成CA证书请求(.csr)–>自签名得到根证书(.crt)(CA给自已颁发的证书)。
为为为什么
2022/08/06
2.3K0
为Apache创建自签名SSL证书
TLS/SSL是用于将正常流量包装在受保护的加密包装中的Web协议。得益于此技术,服务器可以在服务器和客户端之间安全地发送流量,而不会被外部各方拦截。证书系统还可以帮助用户验证他们正在连接的站点的身份。
编程男孩
2018/07/26
6.8K0
为Apache创建自签名SSL证书
自制CA证书设置ssl证书
注意,这里的 Organization Name (eg, company) [Internet Widgits Pty Ltd]: 后面生成客户端和服务器端证书的时候也需要填写,O和OU不要写成一样的!!!
聂伟星
2020/08/14
6K0
使用openssl创建https证书
从今天开始笔者打算和大家聊一聊http2这个协议,想要说清楚http2协议就必须亲手搭建一个http2的服务,并且对比http2和http1.1的特点,从而了解http2的一些新特性。
挥刀北上
2019/12/04
32.1K0
使用openssl创建https证书
CentOS7+Apache使用SSL配置HTTPS 服务
如果发现什么都没显示说明没有安装,没有mod_ssl模块,Apache无法提供SSL服务。 使用yum在线安装。
Yiiven
2022/12/15
2.1K0
使用namecheap证书进行配置htmls安全访问
$ sudo vim /etc/apache2/sites-enabled/default-ssl.conf
cn華少
2018/09/11
1.2K0
Windows系统服务器apache配置SSL教程
  SSl是为Http传输提供安全的协议,通过证书认证来确保客户端和网站服务器之间的数据是安全。也就是说在SSL下http传输是安全的。Windows系统服务器apache要如何配置SSL呢?   配
会长君
2023/04/26
5.2K0
如何在Ubuntu 14.04 上为Apache 2.4 安装SSL支持
今天我会讲述如何在Ubuntu 14.04 上为你的个人网站或者博客安装SSL 证书,来保护你的访问者和网站之间通信的安全。
星哥玩云
2022/07/04
7030
如何在Ubuntu 14.04 上为Apache 2.4 安装SSL支持
go-https的简单实现
X.509 Certificate Signing Request (CSR) Management.
fnatic
2022/07/22
24.7K0
相关推荐
apache配置https服务
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验