1、HTTPS简述随着网络的平常,信息安全愈来愈重要,传统的网站都是http协议明文传输,而HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。node
那https究竟是怎么开启的,随着疑问本身也了解https配置原理并在Ubuntu服务器上开启了https。
我本地配置的域名是https://extend.me
2、配置证书
配置https一个很重要的步骤就是配置证书。
一、建立证书
sudo apt-get install ssl-cert make-ssl-cert
#生成证书的方法有两种,一种是根据生成按工具默认的方式生成,一种是按模板文件生成
#默认的方式生成
sudo make-ssl-cert generate-default-snakeoil
#按模板文件生成
sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/private/apache2.pem
二、经过openssl命令行建立自签名证书(这里生成的证书也采用pem格式,这个pem格式档案中包含了私钥和公钥(证书)两部份内容。若是你将keyout和out分别采用不一样的文件名,那keyout和out所对应的文件就会分别存放私钥和公钥(证书)。)
sudo openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/apache.pem -out /etc/ssl/private/apache.pem -nodes -days 999
#信息注解
Country Name (2 letter code) [AU]:CN ←输入国家代码 State or Province Name (full name) [Some-State]:JIANGSU ← 输入省名 Locality Name (eg, city) []:SHANGHAI ←输入城市名 Organization Name (eg, company) [Internet Widgits Pty Ltd]:YIQU ← 输入公司名 Organizational Unit Name (eg, section) []:RSA ← 输入组织单位名 Common Name (eg, YOUR name) []:extend.me ← 输入主机名(想要开启https的主机名) Email Address []:dybaid@163.com ←输入电子邮箱地址
三、签署证书
sudo openssl genrsa (-des3) 1024 >server.key //括号里的 命令能够不加 这个是密码验证 加了使用证书就须要输入密码
四、生成证书请求文件
openssl req -new -key server.key > server.csr
3、配置Apache
1、开启SSL模块 a2enmod ssl 2、启用SSL站点 a2ensite default-ssl 3、加入监听端口 sudo vim /etc/apache2/ports.conf #编辑Apache端口配置,加入443端口(HTTPS采用的443端口传输数据) Listen 443 4、配置虚拟主机 编辑default-ssl文件,加入证书对应的主机头。 sudo vim /etc/apache2/sites-enabled/default-ssl ServerName extend.me 5、配置SSL证书 按以下配置 SSLEngine on SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key SSLCertificateChainFile /etc/ssl/certs/server-ca.crt
从新启动Apache 而后https://extend.me 测试下浏览器可能会报证书不合法 能够添加例外或者其余仍然访问就行了 自签名证书浏览器通常会提示不合法 配置完以后你们能够用抓包工具看下数据传输是否加密了。