乌班图配置 https ssl证书
2. 配置证书
在这里,我假设你已经会配置基本的/etc/apache2/sites-available/000-default.conf这个文件来达到已经可以通过 http 的方式来访问你的站点。
在/etc/apache2这个目录下,有两个有关的目录sites-available和sites-enabled,我们进入sites-enabled目录下可以发现,里面有一个文件000-default.conf
$ ll
lrwxrwxrwx 1 root root 35 Dec 28 15:24 000-default.conf -> ../sites-available/000-default.conf
实质上这个文件是/etc/apache2/sites-available/000-default.conf这个文件的软链接。
我们要配置另 ssl 证书,要依靠另一个文件,也就是default-ssl.conf,首先我们需要设置一个软链接,把这个文件链接到sites-enabled这个文件夹中:
ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/000-default-ssl.conf
然后去修改这个文件000-default-ssl.conf,因为已经做了软链接,其实这时候修改000-default-ssl.conf或default-ssl.conf都一样。
这个文件没有做任何修改前长这样子(去除自带的注释之后):
<IfModule mod_ssl.c><VirtualHost _default_:443>ServerAdmin webmaster@localhostDocumentRoot /var/www/htmlErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log combinedSSLEngine onSSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pemSSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key<FilesMatch "\.(cgi|shtml|phtml|php)$">SSLOptions +StdEnvVars</FilesMatch><Directory /usr/lib/cgi-bin>SSLOptions +StdEnvVars</Directory></VirtualHost>
</IfModule>
然后把从阿里云上面下载好的证书(3个文件)传到你自定义的目录中
然后我们需要修改一下,修改成这样:
<IfModule mod_ssl.c><VirtualHost _default_:443>ServerAdmin 你的邮箱DocumentRoot /var/www/你的目录ServerName 你的域名ErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log combinedSSLEngine on# 注意,需要添加这三行SSLCertificateFile 你自定义的路径/2_xxx.xxx.xxx.crtSSLCertificateKeyFile 你自定义的路径/3_xxx.xxx.xxx.keySSLCertificateChainFile 你自定义的路径/1_root_bundle.crt<FilesMatch "\.(cgi|shtml|phtml|php)$">SSLOptions +StdEnvVars</FilesMatch><Directory /usr/lib/cgi-bin>SSLOptions +StdEnvVars</Directory></VirtualHost>
</IfModule>
重要的三个参数的作用如下表:
配置文件参数 | 说明 |
---|---|
SSLEngine on | 启用 SSL 功能 |
SSLCertificateFile | 证书文件 |
SSLCertificateKeyFile | 私钥文件 |
SSLCertificateChainFile | 证书链文件 |
改好之后保存。
然后这时,我们加载一下 Apache2 的 SSL 模块:
sudo a2enmod ssl #加载模块
sudo service apache2 restart # 重启服务
这时,在浏览器输入https://你的域名应该已经可以通过 https 的方式来访问网站了,这时浏览器那里应该也已经有了一个绿色的小锁。
但是,但是…这还不够,因为我们如果不主动输入https://的话,直接输入域名,还是会直接跳转到 80 端口的普通的 http 方式访问,所以我们需要强制使用 https 来访问
强制使用https
我们只需要打开/etc/apache2/sites-available/000-default.conf这个文件,在你的<VirtualHost*:80></VirtualHost>这个标签内随便一个地方加上三行:
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}$1 [L,R]
然后保存,然后启动 Apache2 的重定向:
sudo a2enmod rewrite
然后再重启 Apache2,至此大功告成:
sudo service apache2 restart
作者:hiekay
链接:https://www.jianshu.com/p/8df8e92ace30
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
乌班图配置 https ssl证书相关推荐
- Nginx配置https(ssl证书)并反向代理Springboot Jar项目
下载安装NGINX # 下载NGINX: yum install nginx # 启动nginx: systemctl start nginx # 加入开机启动: systemctl enable n ...
- 如何配置https安全证书,ssl证书如何配置
伴随着时期的发展趋势,计算机网变成人们日常生活必不可少的物品,只是计算机安全也变成了人们所忧虑的物品,那麼人们究竟该如何确保自身的计算机安全呢?有许多人挑选了配置HTTP安全证书,只是人们要是如何配置 ...
- python sanic 设置ssl证书_配置自签https ssl证书
由于人们越来越重视网络安全,所以很多平台及系统都要求使用https方式接入.而且一些开源服务框架在调用时也只接受https请求,这将导致平时开发/测试时需要用到ssl证书的地方越来越多. 在2016年 ...
- https ssl证书的工作原理及使用相关知识收集
https ssl证书的工作原理及使用相关知识收集 SSL 与 数字证书 的基本概念和工作原理 前言 SSL是让人头大的东西,看起来很复杂,我学过信息安全课,但是对SSL仍然是模糊一片.对于数字证书也 ...
- Ubuntu 17.04 编译安装 Nginx 1.9.9 配置 https 免费证书
Ubuntu 17.04 编译安装 Nginx 1.9.9 配置 https 免费证书 安装 Nginx 安装依赖 $ apt-get update $ apt-get install build-e ...
- Tomcat8.0系列配置GlobalSign SSL证书
Tomcat8.0系列配置GlobalSign SSL证书 生成证书请求文件 第二步,提交CSR,申请证书 第三步,获取并安装服务器证书 第三步,配置tomcat 本文详细介绍了Tomcat8.0系统 ...
- 【七牛云配置免费SSL证书 记录】
七牛云配置免费SSL证书 记录 第一步 七牛云SSL证书 购买证书 第二步 补全信息 第三步 DNS配置 第四步 配置成功后 部署 启动即可 第一步 七牛云SSL证书 购买证书 点击购买即可 第二步 ...
- 第52章 HTTPS SSL证书与Data Protection(数据安全)
HTTPS SSL证书 在使用Visual Studio .Net(Core)进行Web开发时,当前第一调试Web程序时会为Visual Studio中的Web项调试所使用的IIS Express提供 ...
- WebService系列之Axis Https(SSL)证书校验错误处理方法
WebService系列之Axis Https(SSL)证书校验错误处理方法 最近在用Axis调用https的接口,抛出异常: javax.net.ssl.SSLHandshakeException: ...
最新文章
- 行业洞见 | 一文了解自动驾驶汽车
- [转] 前端实现文件的断点续传
- (转)利用快速开发框架,快速搭建微信浏览博客园首页文章
- UVA-10054 The Necklace (欧拉回路)
- JavaBeans四个作用域 范围
- react-router 按需加载
- C# -WinForm 中英文实现, 国际化实现的简单方法
- 带给你灵感的3D街画艺术设计
- JSON.parse()、eval()、JSON.stringify()、jQuery.parseJSON()的用法
- php计算时间差js,js 求时间差怎么求实例代码
- excel两列数据对比找不同_Excel | 如何核对两列/行数据,找不同?
- 企业微信--扫一扫功能(隐形坑)
- Android自定义View_绘制菱形图片
- Kruskal(克鲁斯卡尔)
- 关于nomogram核心函数的time.inc函数的设定
- 计算机重新装xp系统软件,关于安装软件重启XP电脑后软件不见的处理方法
- Cesium实现卫星在轨绕行
- 计算机网络集成的必要性是,网络管理重要性之谈
- JAVA毕业设计Web端校园报修系统计算机源码+lw文档+系统+调试部署+数据库
- {转}tbl语言简介
热门文章
- Nordic芯片怎样烧录UICR
- Docker(五)进阶:Docker卷(volumes)
- Salesforce系列(六):Salesforce Apex基础SOQL查询和数据添加!
- html文件右键没有打开方式,Win7右键菜单中的”打开方式“不见了的解决方法
- 计算机动漫与游戏制作报告,计算机动漫与游戏制作专业课程体系建设总结报告.PDF...
- Jenkins ——The server rejected the connection
- 编译原理:语法树,短语,直接短语,句柄
- android音频编辑之音频裁剪
- iOS 15 新功能:即使手机关闭,也能找到丢失的iPhone
- java8精简的jre,精简版jre,只有9M多哦!