ownCloud需要在网页和服务器端传输信息,包括登录的用户名和密码、下载的文件,如果采用普通的HTTP连接,可能会遭到网络渗透而被窃取密码。因此,有必要使用HTTPS。
第一步:安装mod_ssl
yum install mod_ssl
安装完后在
/etc/httpd/conf.d/下会有一个ssl.conf的文件,
cat ssl.conf
SSLCertificateFile位于/etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile位于/etc/pki/tls/private/localhost.key
第二步:生成密钥
进入/etc/pki/tls/private,
cd /etc/pki/tls/private/
删除原来的
rm -f localhost.key
生成新的
openssl genrsa 1024 > localhost.key
返回到certs目录
cd ../certs
删除原来的证书
rm -rf localhost.crt
生成新的
可以用命令自动生成
make testcert
也可以自己输入命令 然后centos会提示你输入些信息比如国家 地区 邮箱等 随便写
openssl req -new -x509 -days 365 -key ../private/localhost.key -out localhost.crt
填写需要填写的信息,证书就生成了
这里为什么要用localhost.crt这样的名子,是因为在ssl.conf就是这样子指定的,这两个地方要一样。
再次打开/etc/httpd/conf.d下的ssl.conf,找到
,改下其中的
DocumentRoot "/var/www/html/www"
ServerName www.example.com
改成你需要用到ssl的域的信息,重启apache,配置结束
现在就可以通过https访问网站,在ie6下会安警告,因为这是我们自己发的证书
HSTS(HTTP Strict Transport Security)国际互联网工程组织IETE正在推行一种新的Web安全协议
HSTS的作用是强制客户端(如浏览器)使用HTTPS与服务器创建连接。
到/etc/httpd/conf/目录下
cd /etc/httpd/conf vim httpd.conf
添加下面的文字
<IfModule mod_headers.c> Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains" </IfModule>
systemctl restart httpd
OK!
*参考资料:Linux公社
本文由 橙叶博客 作者:FrankGreg 发表,转载请注明来源!