httpd-2.4实现虚拟主机、访问控制及https功能-创新互联
准备工作:在Centos7中安装httpd,使用yum安装或自己编译安装,建议使用yum安装,快捷又方便。
创新互联建站是一家专注于成都网站制作、成都网站建设与策划设计,莱山网站建设哪家好?创新互联建站做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:莱山等地区。莱山做网站价格咨询:18980820575关闭防火墙及selinux。
提供两个基于名称的虚拟主机www1, www2;有单独的错误日志和访问日志;
先建立虚拟主机www1
a.在httpd的辅助配置文件目录/etc/httpd/conf.d/中创建属于虚拟主机自己的配置文件
b.创建好配置文件后,再创建文档根目录及日志目录
~]# mkdir /myweb/vhosts/www1/logs -pvc.创建并向文档根目录下的index.html写点东西,并在本机的C:\Windows\System32\drivers\etc目录下的HOST文件中添加192.168.127.128 www.link1.com。
重新载入配置文件
systemctl reload httpd.service然后用本地浏览器打开,结果如下:
查看访问日志/myweb/vhosts/www1/logs/access_log,内容如下:
192.168.127.1 - - [29/Aug/2017:15:40:00 +0800] "GET /sky/ HTTP/1.1" 200 1319 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0"
状态码为200,请求成功。
虚拟主机www2的建立过程与www1的没有差别,只不过把相关名称改了就行,最后用浏览器测试,结果如下:
2.访问控制
a.通过www1的/server-status提供状态信息,且仅允许link用户访问;
a-1.修改www1的配置文件如下:
a-2.使用htpasswd命令创建虚拟用户
~]# mkdir /etc/httpd/users ~]# htpasswd -c -m /etc/httpd/users/.htpasswd link ~]# htpasswd -m /etc/httpd/users/.htpasswd link1a-3.重新载入配置文件,打开浏览器输入就会出现以下情况:
当输入link用户及密码后:
当输入link1用户及密码时:
因为只允许link用户登录:
至此,要求实现。
b.www2不允许192.168.127.0/24 网络中任意主机访问;
从之前查看访问日志中看到本主机的ip地址为192.168.127.1。
那我们就将www2的配置文件修改如下:
修改之前访问如下:
修改之后访问如下:
至此,所要求的功能实现。
3.为上面的www2虚拟主机提供https服务
创建私有CA,然后再为本服务器颁发自签证书。
a.创建私有CA
a-1.创建私有CA私钥文件
~]# (umask 077 ; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)a-2.生成自签证书
~]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3653a-3.满足CA所必须的目录级文件和文本文件的布局
~]# touch /etc/pki/CA/index.txt ~]# echo 01 > /etc/pki/CA/serialb.为服务器提供证书
b-1.创建服务器的私钥文件
~]# mkdir /etc/httpd/conf/ssl ~]# cd /etc/httpd/conf/ssl ssl]# (umask 077 ; openssl genrsa -out httpd.key 4096)b-2.生成证书请求文件
ssl]# openssl req -new -key httpd.key -out httpd.csr -days 3653b-3.由CA签发证书:在CA所在的服务器上完成
ssl]# openssl ca -in httpd.csr -out httpd.crt -days 365至此证书颁发完成。
c.安装mod_ssl模块
yum -y install mod_ssl
修改ssl的配置文件的部分内容如下:
SSLCertificateFile /etc/httpd/conf/ssl/httpd.crt然后再创建/myweb/vhosts/ssl目录
~]# mkdir /myweb/vhosts/ssl ~]# echo "welcome to https://www.link2.com" >> /myweb/vhosts/ssl/index.html然后重启服务。
不加密的访问如下:
https访问如下:
因为该证书是我们自己颁发的,所以刚开始访问时会说证书不受信任或有风险,添加例外就行了。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前标题:httpd-2.4实现虚拟主机、访问控制及https功能-创新互联
文章链接:http://ybzwz.com/article/dhjhgo.html