目录
-
http
1、安装apache环境依赖
# yum -y install httpd # systemctl start httpd # systemctl enable httpd
2、基本设置
# systemctl stop firewalld # setenforce 0 或者加入防火墙允许 # firewall-cmd --permanent --add-service=http # firewall-cmd --reload //立即生效 # firewall-cmd --list-all //查看 # mkdir /home/http # echo "welcome to my web" > /home/http/index.html
3、配置主文件
# vi /etc/httpd/conf/httpd.conf 注:可以去除注释行再修改 mv /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak grep -v “#” /etc/httpd/conf/httpd.conf.bak > /etc/httpd/conf/httpd.conf 修改以下内容: ServerName www.lql.com:80 DocumentRoot "/home/http" <Directory "/var/www/html"> 修改成 <Directory "/home/http">
附:主配置文件比较常用参数,按需添加
ServerRoot xx 服务目录 ServerAdmin xx 管理员邮箱 User xx 运行服务的用户 Group xxx 运行服务的用户组 ServerName xx 网站服务器的域名 DocumentRoot xx 文档根目录(网站数据目录) Directory xx 网站数据目录的权限 Listen xx 监听的IP地址和端口号 DirectoryIndex xx 默认的索引页页面 ErrorLog xx 错误日志文件CustomLog xxxx 访问日志文件 Timeout xx 网站超时时间,默认300秒
4、配置完重启HTTP生效
# systemctl restart httpd
-
https的实现
1、安装专门的mod_ssl模块
# yum -y install mod_ssl
2、申请CA证书
要生成证书就需要为服务端生成私钥,并用它来为其提供证书文件
# cd /etc/pki/CA 创建CA所需要的文件: # touch index.txt //生成证书索引数据库文件 # echo 00 > serial //指定第一个颁发证书的序列号(00 01 02..) 生成4096位私钥,私钥的文件名与存放位置都要和配置文件的设置相匹配: # (umask 066;openssl genrsa -out private/cakey.pem 4096) 通过私钥生成自签名证书: # openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650 Country Name (2 letter code) [XX]:CN //国家 State or Province Name (full name) []:shandong //省份 Locality Name (eg, city) [Default City]:jining 城市 Organization Name (eg, company) [Default Company Ltd]:school //公司 Organizational Unit Name (eg, section) []:group //部门 Common Name (eg, your name or your server's hostname) []:www.ar.com //CA主机名 Email Address []: 注意: ()的使用为了使umask值只在当前代码行有效,而不改变系统umask值 CA的私钥名必须为cakey.pem -new : 生成新证书签署请求 -509 :专用CA生成自签证书 -key :生成请求时用到的私钥文件 -days n : 证书有效期限 -out /PATH/TO/SOMECERTFILE: 证书的保存路径 这样一个根CA就建成了!我们可以将生成的证书导出到自己的windows系统,因为windows系统识别不了以.pem结尾的文件,所以我们需要手动修改。
颁发证书:
# mkdir /etc/httpd/conf.d/ssl # cd /etc/httpd/conf.d/ssl/ 1.生成私钥: # (umask 066;openssl genrsa -out lql.com.key 1024) 2.通过私钥生成公钥(生成证书请求文件): # openssl req -new -key lql.com.key -out lql.com.csr 国家:CN 省份:shandong 城市:jining 公司:school 部门:group CA主机名:www.lql.com 3.自签(CA签署证书): # openssl ca -in lql.com.csr -out lql.com.crt -days 365 y //第一次输入确定 y //第二次输入确定 # cp /etc/pki/CA/cacert.pem . 注: /etc/pki/tls/openssl.cnf 配置文件中规定,默认国家,省,公司名称三项必须和CA一致
3、编辑.conf配置文件
# vim /etc/httpd/conf.d/ssl.conf 修改以下内容 DocumentRoot "/home/http" ServerName www.lql.com:443 SSLEngine on SSLCertificateFile /etc/httpd/conf.d/ssl/lql.com.crt #证书文件的路径 SSLCertificateKeyFile /etc/httpd/conf.d/ssl/lql.com.key #私钥文件的路径 SSLCACertificateFile /etc/httpd/conf.d/ssl/cacert.pem 注: SSLCertificateChainFile /etc/httpd/ssl/1_root_bundle.crt #证书链文件的路径
4、重启服务
# systemctl restart httpd
使用IE浏览器访问测试
1、访问网页地址https://www.lql.com
注:因为本地电脑无法识别自己写的域名,所以需要添加网站主机IP和域名绑定,实现方式如下:
//打开本地C盘,搜索路径C:\Windows\System32\drivers\etc
//用文本格式编辑hosts文件,添加一行web的IP和域名即可
如: 192.168.10.2 www.lql.com
2、再次访问网页地址https://www.lql.com
//显示连接不安全 算是基本成功
//需要把证书文件导出然后添加到信任的根证书列表中
windows下的证书管理器 运行中输入certmgr.msc