linux中的http服务浅谈(2)
网页加密与自动重定向的实现:
当我们在访问一些网页的时候,会发现网页前面加了一把锁,这是网页服务端为了客户端的信息安全所做的一种加密,
提升了访问网页的用户的信息安全,比如下图,是在访问腾讯的QQ邮箱时出现的页面,重点是域名前的那把锁,而且
我们也发现,域名自动变为https://了:
在linux中,我们也可以通过一些软件和模块来实现对我们的网页进行加密保护,接下来简单介绍一下,如何将域名加密,以及实现
网页的自动重定向
1.加密
首先,我们需要下载安装加密模块:yum install mod_ssl
安装晚以后,在/etc/httpd/conf.d/目录下会自动生成一个ssl.conf文件,如图所示:
systemctl reload httpd 重启httpd服务
netstat -antlpr | grep httpd 可以看到多了一个443端口:
然后再访问ip172.25.254.121 如图所示:
然后点击提示页面最下面的 I Understand the Risks ,继续点击下面的Add Exception :
弹出下图提示页面,先点击 Get Certificate 下载,然后点击左下角的Confirm Security Exception :
才可进入页面,看到之前的内容:
虽然,我们实现了加密模式和https,但是加密的信息和认证都是系统默认的,那我们如何自己制作属于自己的认证和**呢:
下载能够生成认证文件和key的软件: yum install crypto-utils.x86_64
然后直接输入命令:genkey www.test.com 进入生成认证文件和**的过程,如图所示:
点击Next 进入下一步:
系统在加载:
加载完成后会自动跳转到选择密码位数列表,可自定义选择,然后点击Next进行下一步:
需要重新打开一个shell,然后自定义键入字符,输入字符越快,秘密生成越快,当然和你上一步选择密码位数正相关:
这一步选择NO:
选择Next:
然后输入认证信息:
整个生成认证证书和**的过程就结束了,然后系统会自动跳转到shell界面,并把证书和**的路径显示出来,
证书路径:
**路径:
然后将认证证书和**路径编辑到文件 /etc/httpd/conf.d/ssl.conf中:
然后重启服务: systemctl restart httpd
再访问172.25.254.121,可在网页中找到自己生成的认证证书和**信息:
2.网页重定向:在输入一个域名时自动跳转到http://模式
先看看之前建立的虚拟主机,在访问时的状态,可以和新建立的虚拟主机做一个对比:
没有锁的图标,也没有自动加上https://
mkdir /var/www/test/study.test.com 先建立一个虚拟主机的测试域名study.test.com
vim /var/www/test/study.test.com/index.html 新建并编辑访问域名时显示的内容,其他和本机ip同网段的主机在访问时
将看到 study !!! 的字符(<h1></h1>为html语句)
然后在/etc/httpd/conf.d/目录下新建并编辑文件: vim study.conf 将路径和授权信息都编辑到文件中,并将认证证书
和**路径编辑到文件中,文件的意思为在访问80默认端口时自动跳转到443端口,既可实现从http自动跳转到https://
systemctl restart httpd 重启httpd服务
然后在ip和本机同网段的主机上设置本地解析,来进行测试,在/etc/hosts文件中将study.test.com编辑进去:
然后访问 172.25.254.121(本机),可看到自动跳转到https://模式:
显示之前编辑的index.conf文件中的内容:
让http执行简单的php语句和cgi语句:
1.php语句
在http默认发布目录/var/www/html/下新建并用简单的php语句编写文件: vim index.php
然后编辑http主配置文件/etc/httpd/conf/httpd.conf index.php写在默认发布文件index.html前面:
然后重启httpd服务: systemctl restart httpd
访问172.25.254.121(本机),如图所示即配置完成:
2.cgi语句
mkdir /var/www/html/cgi 新建目录cgi
vim /var/www/html/cgi/index.cgi 新建并编辑cgi语句文件,意为在访问172.25.254.121/cgi/index.cgi时会显示即时
时间:
chmod + x index.cgi 给文件一个执行权限
然后在/etc/httpd/conf.d/目录下的 default.conf默认文件中加如cgi语句的信息:
然后查看/var/www/html/cgi/目录的安全上下文,并更改:
然后重启服务: systemctl restart httpd
访问172.25.254.121/cgi/index.cgi时的效果如图所示: