https是一个安全的访问方式,数据在传输过程中是加密的,https基于ssl。
一、安装apache和ssl模块 https://X.X.X.X/ 如果不使用默认的证书,也可以使用openssl手动创建证书。
二、使用openssl手动创建证书
3、用私钥server.key文件生成证书请求文件csr
此步骤需要输入一些证书信息: 输入国家、省份、城市、公司、部门、姓名或服务器名、电子邮箱,随后会要求输入一个challengepassword(密码),无需输入,后面一律直接回车即可。
4、生成数字签名crt文件(证书文件)
5、编辑apache的ssl配置文件 /etc/httpd/conf.d/ssl.conf文件配置具体如下:
<VirtualHost _default_:443> DocumentRoot "/var/www/https" //设置网页存放目录 ServerName *:443 //服务器的端口 DirectoryIndex index.html index.html.var //首页名称 SSLEngine on SSLCertificateFile /etc/pki/tls/server.crt //证书 SSLCertificateKeyFile /etc/pki/tls/server.key //私钥
</VirtualHost> 由于不是第三方根证书颁发机构颁发的证书,而是自己颁发的证书,所以浏览器会提示安全证书不受信任。
!!!注意:首页index.html 的文件权限为755,否则将会出现如上提示: Forbidden Youdon't have permission to access /main.html on this server. 解决方法:修改首页index.html读写权限。 #Chmod755 index.html
关于openssl指令的补充说明: #openssl [操作] -out filename [bits] 参数说明: [操作] 主要的操作有如下两个: genrsa,建立RSA加密的Public key req,建立凭证要求文件或者是凭证文件 -out ,后面加上输出的文件名,就是那把key name bits,用在genrsa加密的公钥的长度 -x509,X.509,CertificateData Management. 一种验证的管理方式 例:建立一支长度为1024bits的Public Key,注意文件名。 #openssl genrsa -out Server.key 1024
生成证书请求命令: #Openssl req -new -key file.key -out file.csr -config /path/to/openssl.cnf -config:指定openssl的配置文件路径,不指定时,默认会访问Unix格式的默认路径:/usr/local/ssl/openssl.cnf。
例:#openssl req -new -key server.key -outserver.csr |