<Apache服务的搭建"三件套"《目录验证》《虚拟主机》《加密证书》>
自己没事会整理一些小知识,复习原来的同时也帮助新手。
vvvvvvvvvvvvv开启apache目录验证vvvvvvvvvvvvvv
htpasswd -cm uers redhat //redhat用户是虚拟的用户uers为生成加密用户的密码文件
# htpasswd -cm uers redhat //第二次这样输入它会把第一次的输入覆盖掉
[root@redhat httpd]# cat uers
redhat:$apr1$8X/YcAoY$xlwRboAtWudU26krVPoyD1
# htpasswd -m uers westos //少个c就不会覆盖原先的
[root@redhat httpd]# cat uers
redhat:$apr1$8X/YcAoY$xlwRboAtWudU26krVPoyD1
westos:$apr1$HUl2zxD9$CI2YcuhNO68hEqch3ttMn1
编辑Apache的配置文件
<Directory "/var/www/html/admin">
AllowOverride ALL
authuserfile "/etc/httpd/uers"
authname "input your name "
authtype basic
require valid-user //指的是所有用户
# require user admin //这个指的是单个用户
</Directory>
测试时ip+admin(目录)
vvvvvvvvvvvvvvapache虚拟主机的配置vvvvvvvvvvvvvvvvv
cd /var/www //2个发布目录
# mkdir html1
# cd html1/
vim index.html
/var/www/html
vim index.html
apache的配置文件
NameVirtualHost *:80 //打开80端口
<VirtualHost *:80> //配置apche的配置文件
DocumentRoot /var/www/html //这个是Apache默认发布目录
ServerName redhat.example.com
ErrorLog logs/redhat.example.com-error_log
CustomLog logs/redhat.example.com-access_log common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html1 //这个目录和上面那个不是一个目录,看清这个是“html1”
ServerName www.example.com
ErrorLog logs/www.example.com-error_log
CustomLog logs/www.example.com-access_log common
</VirtualHost>
客户端
# vim /etc/hosts
192.168.3.30 redhat.example.com
192.168.3.30 www.example.com 在浏览器中分别输入redhat.example.com www.example.com域名
vvvvvvvvvvvvvvvvvvvvApache加密证书的制作vvvvvvvvvvvvvvvvvvvvvvvvvvv
# yum install mod_ssl -y //按装mod_ssl软件包
/etc/pki/tls/private
# rm -rf localhost.key //默认安装好软件包回生成一对私钥
/etc/pki/tls/certs
# rm -rf localhost.crt //删除公钥
# make localhost.crt //自己生成一对公私钥
localhost.crt localhost.key
# /etc/init.d/httpd restart //重启apche服务会提示输入密码
Enter pass phrase:
# openssl --help
# openssl genrsa 1024
# openssl genrsa 1024 > localhost.key //导出私钥
# make localhost.crt //编辑公钥
# /etc/init.d/httpd restart //重启系统发现不会提示让你输入密码
redhat.example.com
https://redhat.example.com/ //发现不同的域名访问到的内容是相同的,说明虚拟主机有问题 redhat.example.com
/etc/httpd/conf.d/ //配置ssl.conf它所使用的端口为443
# vim ssl.conf
NameVirtualHost *:443 //写在ssl文件中的其实就是Apache虚拟主机的内容,port由80变为443,只是多了带色的那几行,仅此而已
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
DocumentRoot /var/www/html
ServerName redhat.example.com
ErrorLog logs/redhat.example.com-error_log
CustomLog logs/redhat.example.com-access_log common
</VirtualHost>
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
DocumentRoot /var/www/html1
ServerName www.example.com
ErrorLog logs/www.example.com-error_log
CustomLog logs/www.example.com-access_log common
</VirtualHost>
# /etc/init.d/httpd restart
客户端测试
redhat.example.com
<Apache服务的搭建"三件套"《目录验证》《虚拟主机》《加密证书》>的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- Java IO和Java NIO在文件拷贝上的性能差异分析
1. 在JAVA传统的IO系统中,读取磁盘文件数据的过程如下: 以FileInputStream类为例,该类有一个read(byte b[])方法,byte b[]是我们要存储读取到用户空间的缓冲区 ...
- 虚拟文件系统VFS
Linux的文件系统是由虚拟文件系统作为媒介搭建起来的,虚拟文件系统VFS(Virtual File System)是Linux内核层实现的一种架构,为用户空间提供统一的文件操作接口.它在内核内部为不 ...
- 纯css3实现的动画加载特效
之前给大家带了很多款进度加载条,今天再给大家分享一款纯css3实现的动画加载特效.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div class="wrap& ...
- selenium python 定位一组对象
为什么定位一组对象? 定位一组对象的思想 在定位一组对象的过程中我们如何实现?以前的都是通过具体的对象定位,那么定位一组我们就需要通过css来定位 在单个定位对象中使用的是find_elem ...
- Solr特殊字符转义处理
做站内搜索时,如果输入的参数中包含英文冒号.双引号或其他具有特殊含义的字符时,可能需要做转义来避免查不到数据的问题. 测试于:Solr 4.5.1, Jdk 1.6.0_45, Tomcat 6.0. ...
- 巧用FileShare解决C#读写文件时文件正由另一进程使用的bug
在使用C#进行文件读写的时候,一旦对文件操作频繁,总会碰到一些令人措手不及的意外.例如经常会碰到的一个问题: System.IO.IOException: 文件“XXX”正由另一进程使用,因此该进程无 ...
- redis存储对象,实体类新加字段空指针问题处理
redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set ...
- Linux下cut命令使用
标题:cut命令的使用 作用:cut命令是对文件以行为单位,按照字节.字符.指定的域分隔符对行进行剪切,提取所需要的片段内容. 一.用法: cut [-bn] [file] 或cut -c [file ...
- easyui window自动居中(修复了iframe弹窗被遮盖问题)
$.extend($.fn.window.defaults, { onOpen:function(left, top){ var iframeWidth = $(this).parent().pare ...
- python 基础——私有属性
私有属性 python 私有属性以两个下划线开头. python 私有属性只能在类内部访问,类外面访问会出错. python 私有属性之所以不能在外面直接通过名称来访问,其实质是因为 python 做 ...