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套接字工厂,第二 ...
随机推荐
- DApp demo之pet-shop
注意: 这里使用的truffle版本为4.1.4,貌似使用高版本在truffle test时候会出问题,提示 truffle/Assert.sol is not found等错误 使用Truffle ...
- crf++实现中文分词简单例子 (Windows crf++0.58 python3)
学习自然语言处理的同学都知道,条件随机场(crf)是个好东西.虽然它的原理确实理解起来有点困难,但是对于我们今天用到的这个crf工具crf++,用起来却是挺简单方便的. 今天只是简单试个水,参考别人的 ...
- Python【每日一问】11
问: 请简单说明一下以下代码的执行过程以及最终的输出结果 def fib(max): n, a, b = 0, 0, 1 while n < max: yield b a, b = b, a + ...
- spring boot websocket stomp 实现广播通信和一对一通信聊天
一.前言 玩.net的时候,在asp.net下有一个叫 SignalR 的框架,可以在ASP .NET的Web项目中实现实时通信.刚接触java寻找相关替代品,发现 java 体系中有一套基于stom ...
- java 调用c# web api 代码
上次我们写的.net web api 给对方公司的java团队调用,他们觉得说java无法调用.net 写的api ,靠居然有这事,索性自己写一个java的demo给他们 使用apache的Http ...
- 三个线程,ABC 10次(volatile+synchronized(2 synchronized可以保证内存可见性,所以去掉status 的volatile修饰符)
package ThreadABC; public class MyThread extends Thread { public static int status = 0; @Override pu ...
- 随手用JQ写个选项卡
<div class="box"> <ul> <li class="one">选项卡1</li> <li& ...
- 当map遇到parseInt
也是一道面试题,估计除了面试题,一般情况下,也不会写出类似的代码了. ['1', '2', '3'].map(parseInt) 这么一道题的返回结果是什么? 如果不用浏览器去验证,乍一看,似乎确实没 ...
- iptables 配置说明
#配置,禁止进,允许出,允许回环网卡 iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -i lo -j ACCEP ...
- 从RDS中获取binlog
由于使用RDS,但是没有开启日志,所以需要分析时,发现根本没有日志可以下载. 但是RDS中是存在binlog的,那么直接在线获取 首先在一台能够连接上RDS的数据中安装对应版本的mysql客户端. 到 ...