美文网首页
Nginx虚拟主机及加密站点

Nginx虚拟主机及加密站点

作者: 郭不戳 | 来源:发表于2022-09-13 08:29 被阅读0次

环境准备

本实验适用上篇文章中所部署好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,在最后添加

相关文章

网友评论

      本文标题:Nginx虚拟主机及加密站点

      本文链接:https://www.haomeiwen.com/subject/myekortx.html