美文网首页
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