自己没事会整理一些小知识,复习原来的同时也帮助新手。

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  //重启系统发现不会提示让你输入密码

https://www.example.com/

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

客户端测试

https://www.example.com/

www.example.com

https://redhat.example.com/

redhat.example.com

<Apache服务的搭建"三件套"《目录验证》《虚拟主机》《加密证书》>的更多相关文章

  1. 简单物联网:外网访问内网路由器下树莓派Flask服务器

    最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...

  2. 利用ssh反向代理以及autossh实现从外网连接内网服务器

    前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...

  3. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  4. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  5. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  6. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  7. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  8. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

  9. 怎样从外网访问内网DB2数据库

    外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...

  10. 怎样从外网访问内网OpenLDAP数据库

    外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...

随机推荐

  1. Android实现XML解析技术

    转载:Android实现XML解析技术 本文介绍在Android平台中实现对XML的三种解析方式. XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为 ...

  2. Golang学习 - strconv 包

    ------------------------------------------------------------ // 将布尔值转换为字符串 true 或 false func FormatB ...

  3. 关于composer

    Composer PHP依赖管理的新时代http://segmentfault.com/a/1190000000353129 Composer 的主页   https://getcomposer.or ...

  4. Flume-ng-1.4.0 spooling source的方式增加了对目录的递归检测的支持

    因为flume的spooldir不支持子目录文件的递归检测,并且业务需要,所以修改了源码,重新编译 代码修改参考自:http://blog.csdn.net/yangbutao/article/det ...

  5. C语言中和指针相关的四道题目

    例子1. void fun (int *x , int *y) { printf("%d, %d", *x, *y) ; *x = 3; *y = 4;} main(){ int ...

  6. Sumdiv 等比数列求和

    Sumdiv Sumdiv Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 15364   Accepted: 3790 De ...

  7. Java SE ---类,方法,对象等

    1,面向对象程序设计的三大基本特征:继承(Inheritence).封装(Encapsulation).多态(Polymorphism)     2,如何定义类?            修饰符 cla ...

  8. Android 高级UI设计笔记12:ImageSwitcher图片切换器

    1. ImageSwitcher ImageSwitcher是Android中控制图片展示效果的一个控件,如:幻灯片效果...,颇有感觉啊.做相册一绝 2. 重要方法 setImageURI(Uri  ...

  9. 读取Excel文件的两种方法

    第一种方法:传统方法,采用OleDB读取EXCEL文件, 优点:写法简单,缺点:服务器必须安有此组件才能用,不推荐使用 private DataSet GetConnect_DataSet2(stri ...

  10. Android小项目之九 两种上下文的区别

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...