环境准备
本实验适用上篇文章中所部署好nginx的Linux主机
nginx配置虚拟主机
打开nginx主配置文件在34~39行添加以下代码行(配置文件:/usr/local/nginx/conf/nginx.conf)
server {
listen 80; //监听端口号
server_name www.b.com; //域名,默认的虚拟主机改成www.a.com
root html_b; //存放网页的目录
index index.html; //默认页名字
}
更改原有虚拟主机
http {
server { //配置文件中自带虚拟主机
listen 80;
server_name www.a.com;
root html;
index index.html;
}
之后重载配置文件
/usr/local/nginx/sbin/nginx -s reload //之后重新加载配置文件,服务必须是开启状态
创建测试页面
mkdir /usr/local/nginx/html_b //创建b网站的目录
echo "nginx-A~~~" > /usr/local/nginx/html/index.html //创建a网站测试页
echo "nginx-B~~~" > /usr/local/nginx/html_b/index.html //创建b网站测试页
vim /etc/hosts //修改hosts文件添加ip和域名的映射关系
192.168.99.5 www.a.com www.b.com
curl www.a.com //检测a网站或b网站都可以看到页面
nginx-A~~~
curl www.b.com
nginx-B~~~
自此虚拟主机搭建完成
加密站点
搭建安全网站
对称算法 AES DES 单机数据加密 使用相同字符串加密和解密
非对称算法 RSA DSA 网络数据加密 利用公钥(锁)加密,私钥(钥匙)解密
信息摘要 md5 sha256 数据校验
修改配置,实现安全加密网站
vim conf/nginx.conf //修改大概103~120行,如果配置恢复了,就找98~115行
server { //此处的虚拟主机自带ssl安全加密功能,将其范围的注释取消即可
listen 443 ssl;
server_name localhost;
ssl_certificate cert.pem; //证书,包含公钥
ssl_certificate_key cert.key; //私钥
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root https; //这里修改页面存储目录
index index.html index.htm;
}
}
mkdir /usr/local/nginx/https //创建安全网站的目录
echo "https~~~~ " > /usr/local/nginx/https/index.html //创建安全网站的页面
创建私钥与证书
[root@proxy nginx]# pwd
/usr/local/nginx
[root@proxy nginx]# openssl genrsa > conf/cert.key //创建私钥
[root@proxy nginx]# openssl req -x509 -key conf/cert.key > conf/cert.pem
//创建证书,证书中包含公钥,生成过程会询问诸如你在哪个国家之类
的问题,可以随意回答,但要走完全过程
Country Name (2 letter code) [XX]:dc 国家名
State or Province Name (full name) []:dc 省份
Locality Name (eg, city) [Default City]:dc 城市
Organization Name (eg, company) [Default Company Ltd]:dc 公司
Organizational Unit Name (eg, section) []:dc 部门
Common Name (eg, your name or your server's hostname) []:dc 服务器名称
Email Address []:dc@dc.com 电子邮件
启动服务并测试
[root@proxy nginx]# sbin/nginx //服务没开的话开服务
[root@proxy nginx]# sbin/nginx -s reload //已经开了的话重加载配置
[root@proxy nginx]# curl -k https://192.168.99.5 //检验,-k是忽略风险
https~~~~ //看到这个内容就说明实验成功
[root@proxy nginx]# systemctl stop firewalld //如果用真机的火狐浏览器测试需要
关闭防火墙,然后输入https://192.168.99.5
使用真机访问测试时,因为没有配置DNS解析服务,所以如果想要看到效果需要修改本机hosts文件
Linux修改hosts文件: /etc/hosts
Windows修改hosts文件
C:\Windows\System32\drivers\etc\hosts
右键---属性---安全---编辑---users---完全控制打钩
然后用文本打开hosts,在最后添加
网友评论