Linux Apache配置https访问
配置https访问
该环境是rh254课程配套的一个环境,不过配置方法步骤相同。
要求:
使用虚拟主机技术部署两个网站:
网站1:
- 绑定域名 www0.example.com
- 目录在 /srv/www0/www
- 要求支持https加密访问
- 所有通过http访问该网站都会自动调转到https
网站2:
- 绑定域名 webapp0.example.com
- 目录在 /srv/webapp0/www
- 要求支持https加密访问
- 所有通过http访问该网站都会自动调转到https
1、安装软件包
[root@server0 ~]# yum install httpd mod_ssl -y
2、下载证书
[root@server0 ~]# wget -O /etc/pki/tls/certs/example-ca.crt http://classroom.example.com/pub/example-ca.crt ---> 根证书
[root@server0 ~]# wget -O /etc/pki/tls/certs/www0.crt http://classroom.example.com/pub/tls/certs/www0.crt www0 ---> 证书
[root@server0 ~]# wget -O /etc/pki/tls/private/www0.key http://classroom.example.com/pub/tls/private/www0.key www0 ---> 私钥 [root@server0 ~]# wget -O /etc/pki/tls/certs/webapp0.crt http://classroom.example.com/pub/tls/certs/webapp0.crt webapp0 ---> 证书
[root@server0 ~]# wget -O /etc/pki/tls/private/webapp0.key http://classroom.example.com/pub/tls/private/webapp0.key webapp0 ---> 私钥
注意一定不能将文件路径下载错或者记错,否则后期检查很麻烦
3、建立虚拟主机
直接拷贝一份模板文件进行编辑
[root@server0 conf.d]# cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/www0.conf
多余部分删除,只保留如下部分进行修改
[root@server0 conf.d]# vim www0.conf
<VirtualHost *:443>
DocumentRoot "/srv/www0/www/"
ServerName www0.example.com:443 SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5 SSLCertificateFile /etc/pki/tls/certs/www0.crt --->www0证书路径
SSLCertificateKeyFile /etc/pki/tls/private/www0.key --->www0私钥路径 <Directory /srv/www0/www/>
Require all granted
</Directory>
</VirtualHost> <VirtualHost *:80> --->要求http跳转,配置这个VirtualHost
Servername www0.example.com --->绑定域名
RewriteEngine On --->跳转开启
RewriteRule ^(./*)$ https://%{HTTP_HOST}$1 [redirect=301]
</VirtualHost>
^(./*)$ 正则表达式,表示访问的
%{HTTP_HOST} 表示对方访问时所用的域名
$1 表示匹配的内容
将www0.conf拷贝一份,名字为webapp0.conf,然后修改webapp0.conf的内容
[root@server0 conf.d]# cp {www0,webapp0}.conf
[root@server0 conf.d]# sed -i 's/www0/webapp0/g' webapp0.conf
4、创建主页目录并修改权限
[root@server0 ~]# mkdir -p /srv/{www0,webapp0}/www
[root@server0 ~]# echo "I'm www0" >> /srv/www0/www/index.html
[root@server0 ~]# echo "I'm webapp0" >> /srv/webapp0/www/index.html
[root@server0 ~]# chown apache:apache -R /srv/*
5、修改selinux安全上下文
[root@server0 ~]# semanage fcontext -a -t 'httpd_sys_content_t' '/srv(/.*)?'
[root@server0 ~]# restorecon -Rv /srv/
[root@server0 ~]# ll -Zd /srv/www0/
drwxr-xr-x. root root unconfined_u:object_r:httpd_sys_content_t:s0 /srv/www0/
6、更改防火墙配置
[root@server0 ~]# firewall-cmd --permanent --add-service=http
[root@server0 ~]# firewall-cmd --permanent --add-service=https
[root@server0 ~]# firewall-cmd --reload
[root@server0 ~]# firewall-cmd --list-all
public (default, active)
interfaces: eth0
sources:
services: dhcpv6-client http https ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
7、启动httpd服务并设定开机自启动
[root@server0 ~]# systemctl start httpd
[root@server0 ~]# systemctl enable httpd
8、验证
desktop0在导入证书之后使用浏览器访问
http://www0.example.com 会被跳转到 https://www0.example.com 页面显示I'm www0
http://webapp0.example.com 会被跳转到 https://webapp0.example.com 页面显示I'm webapp0
curl 临时访问
curl -k https://webapp0.example.com
-k 允许在没有证书的情况下连接到SSL站点
这里使用curl临时访问以下,需要导入证书,本人学艺不精,后期更新,谢谢支持。
有什么疑问请留言或者私信我,看到第一时间回复。
本人linux菜鸟一个,欢迎linux大佬多多指教。
Linux Apache配置https访问的更多相关文章
- lamp之apache配置https访问
配置apache 使用https 注:怕其他人由于路径的原因出问题,首先声明一下,本人apache的安装目录为 : /usr/local/httpd2.4.25,如果不是,请参考进行配置 注: 对于如 ...
- Apache 配置 HTTPS访问
将需要配置的项目移动到另一根目录下,作为https访问位置. 修改bitnami配置文件..\Bitnami\wampstack-5.6.19-0\apache2\conf\bitnami\bitna ...
- linux Apache设置https访问以及加载mod_ssl.so模块以及问题解决
开始之前的话: 1.配置好服务器防火墙的443端口规则: 2.购买好证书文件,我是沃通证书,准备好证书,这里不演示证书的购买和安装. 3.根据服务器类型下载文件,apache一共有4个文件 这里提供沃 ...
- Linux下Apache配置HTTPS功能
Apache配置HTTPS功能 转 https://www.cnblogs.com/liaojiafa/p/6028816.html 一.yum 安装openssl和openssl-devel,ht ...
- Apache配置HTTPS功能
apache配置https 一.yum 安装openssl和openssl-devel,httpd-devel 二.生成证书(也可以从公司的证书颁发机构获取): #建立服务器密钥 openssl ge ...
- Windows上为Apache配置HTTPS
Windows上为Apache配置HTTPS 转 https://www.cnblogs.com/tianzijiaozi/p/7582671.html 1. 安装OpenSSL: Windo ...
- apache配置禁止访问某些文件/目录
我们来看俩段通常对上传目录设置无权限的列子,配置如下: 代码如下: ? 1 2 3 4 5 6 <Directory "/var/www/upload"> <Fi ...
- Apache配置https
Apache配置https 之前一直用的是Tomcat,今天突然接到任务要给Apache配置https证书,因为小程序要用.下面把过程列出来以备后续查看. 1.首先你得有ssl证书,没有的可以去购买, ...
- OkHttp配置HTTPS访问+服务器部署
1 概述 OkHttp配置HTTPS访问,核心为以下三个部分: sslSocketFactory() HostnameVerifier X509TrustManager 第一个是ssl套接字工厂,第二 ...
随机推荐
- dubbo 用来做什么
1.各个独立app之间的通信问题怎么解决? 2.怎么做到统一调度.协调处理. 3.如果计费模块是并发最大的模块,但是其他模块并发不是很大.则需要对计费进行负载均衡,怎么实现?
- 使用pgrouting进行最短路径搜索
PgRouting是基于开源空间数据库PostGIS用于网络分析的扩展模块,最初它被称作pgDijkstra,因为它只是利用Dijkstra算法实现最短路径搜索,之后慢慢添加了其他的路径分析算法 ...
- 使用shell解析脚本依赖关系,并自动补数
将脚本依赖关系放到表中 使用shell解析脚本依赖关系,递归的计算各个脚本. #!/bin/bash # dm 补数 basepath=$(cd ``; pwd) cd $basepath sourc ...
- php结合layui前端实现 多图上传
前端html代码 <div class="layui-upload"> <button type="button" class="l ...
- 基于kettle的简单HTTP接口监控
需求:监控系统中使用的所有http接口,要求简单,易用. 一般的思路也就是发送get/post请求,然后检查接口的响应结果. 如果写代码,要处理http请求,检查http响应,实现发邮件,写d ...
- scrpy-cookie
两种方法模拟登陆 1.直接携带cookie import re import scrapy class RenrenSpider(scrapy.Spider): name = 'renren' all ...
- NFS服务器工作原理
一.NFS简介 NFS是Network File System的缩写,中文称为网络文件系统,它的主要功能是通过网络(一个局域网)让不同的主机系统之间可以共享文件或目录,NFS的客户端(一般为应用服务器 ...
- asp.net 微信开发(一)
在准备工作中,我们已经完成准备工作,接下来就是进行开发啦,应该怎么来开发呢??容我想想...我觉得我们可以直接让用户的消息发送到微信的消息,转到我们自己的服务器上面!!感觉好厉害的样子 1.首先写 验 ...
- turtle画戒指
import turtleturtle.bgcolor('black')turtle.speed(5)turtle.pensize(3)for i in range(1,5): turtle.righ ...
- js:获取事件源的兼容性写法
XXX.onclick = function(e){ var event = e || window.event; var target = event.target || event.srvElem ...