<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 安装并启动 ...
随机推荐
- Android实现XML解析技术
转载:Android实现XML解析技术 本文介绍在Android平台中实现对XML的三种解析方式. XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为 ...
- Golang学习 - strconv 包
------------------------------------------------------------ // 将布尔值转换为字符串 true 或 false func FormatB ...
- 关于composer
Composer PHP依赖管理的新时代http://segmentfault.com/a/1190000000353129 Composer 的主页 https://getcomposer.or ...
- Flume-ng-1.4.0 spooling source的方式增加了对目录的递归检测的支持
因为flume的spooldir不支持子目录文件的递归检测,并且业务需要,所以修改了源码,重新编译 代码修改参考自:http://blog.csdn.net/yangbutao/article/det ...
- C语言中和指针相关的四道题目
例子1. void fun (int *x , int *y) { printf("%d, %d", *x, *y) ; *x = 3; *y = 4;} main(){ int ...
- Sumdiv 等比数列求和
Sumdiv Sumdiv Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 15364 Accepted: 3790 De ...
- Java SE ---类,方法,对象等
1,面向对象程序设计的三大基本特征:继承(Inheritence).封装(Encapsulation).多态(Polymorphism) 2,如何定义类? 修饰符 cla ...
- Android 高级UI设计笔记12:ImageSwitcher图片切换器
1. ImageSwitcher ImageSwitcher是Android中控制图片展示效果的一个控件,如:幻灯片效果...,颇有感觉啊.做相册一绝 2. 重要方法 setImageURI(Uri ...
- 读取Excel文件的两种方法
第一种方法:传统方法,采用OleDB读取EXCEL文件, 优点:写法简单,缺点:服务器必须安有此组件才能用,不推荐使用 private DataSet GetConnect_DataSet2(stri ...
- Android小项目之九 两种上下文的区别
------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...