配置要求:

client:192.168.4.10
proxy:192.168.4.5(eth0) 192.168.2.5(eth1)
web1:192.168.2.100
web2:192.168.2.200
 
1.1 搭建nginx服务器
proxy:
]# yum -y install gcc pcre-devel openssl-devel
]# useradd -s /sbin/nologin nginx
]# ./configure \(安装包内)
> --prefix=/usr/local/nginx \
> --user=nginx  \
> --group=nginx \
> --with-http_ssl_module //开启SSL加密功能
]# make && make install
]# systemctl stop httpd
]# systemctl disable httpd
]# ln -s /usr/local/nginx/sbin/nginx /sbin/
]# nginx
]# netstat -anptu | grep nginx
 
1.2 升级nginx服务器
]# nginx -s  stop
]# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
]# ./configure  \
> --prefix=/usr/local/nginx \ 
> --user=nginx  \ 
> --group=nginx \ 
> --with-http_ssl_module
]# make && make install
]# cp objs/nginx /usr/local/nginx/sbin/(安装包内)
]# make upgrade  //升级
]# nginx
]# nginx -V
client 测试:
]# firefox http://192.168.4.5
 
2. 配置用户认证
]# vim /usr/local/nginx/conf/nginx.conf
...
server_name  localhost;
     auth_basic "Input Password";
     auth_basic_user_file "/usr/local/nginx/pass";
...
]# yum -y install httpd-tools
]# htpasswd -c /usr/local/nginx/pass tom1
]# htpasswd /usr/local/nginx/pass    tom2  //追加用户,不使用-c选项
]# cat /usr/local/nginx/pass
tom1:$apr1$2kaE07z6$vhGcS7rLiyIZrvsOIV8Zs0
tom2:$apr1$ob0nlqNt$o5Sb1PNK3RkbqRW73.kBB/
]# nginx -s reload
client测试:
]# firefox http://192.168.4.5(要输入账户、密码)
 
3.基于域名的虚拟主机
]# vim /usr/local/nginx/conf/nginx.conf
www.a.com 配置了用户认证
server {
    listen       80;
    server_name  www.a.com;
    auth_basic "Input Password";
    auth_basic_user_file "/usr/local/nginx/pass";
       
    location / {
        root   html;
        index  index.html index.htm;
    }
 
www.b.com 未配置用户认证
erver {
    listen       80;
    server_name  www.b.com;
 
    location / {
        root   www;
        index  index.html index.htm;
    }
]# mkdir /usr/local/nginx/www
]# echo "www" > /usr/local/nginx/www/index.html
]# nginx -s reload
client测试:
]# vim /etc/hosts
192.168.4.5   www.a.com  www.b.com
]# firefox http://www.a.com (输入用户名,密码访问)
]# firefox http://www.b.com;
 
4.SSL虚拟主机
]# cd /usr/local/nginx/conf
]# openssl genrsa > cert.key //生成私钥
]# openssl req -new -x509 -key cert.key > cert.pem //生成证书
]# ls
cert.key  cert.pem ...
]# vim /usr/local/nginx/conf/nginx.conf
 server {
    listen       443 ssl;
    server_name  www.c.com;
 
    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   html;
        index  index.html index.htm;
        }
    }
]# nginx -s reload
client:
]# vim /etc/hosts
192.168.4.5 www.a.com  www.b.com  www.c.com
]# firefox https://www.c.com //信任证书后可以访问

十八.搭建Nginx服务器、配置网页认证、基于域名的虚拟主机、ssl虚拟主机的更多相关文章

  1. 高级运维(二):搭建Nginx服务器、用户认证、基于域名的虚拟主机、SSL虚拟主机、Nginx反向代理

    一.搭建Nginx服务器 目标: 在IP地址为192.168.4.5的主机上安装部署Nginx服务,并可以将Nginx服务器,要求编译时启用如下功能: 1> SSL加密功能 2> 设置Ng ...

  2. centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课

    centos  DNS服务搭建  DNS原理  使用bind搭建DNS服务器 配置DNS转发 配置主从  安装dig工具  DHCP  dhclient  各种域名解析记录  mydns DNS动态更 ...

  3. 搭建nginx服务器,虚拟主机,反向代理

    1 搭建Nginx服务器 1.1 问题 在IP地址为192.168.10. 5的主机上安装部署Nginx服务,并可以将Nginx服务器升级到更高版本,要求编译时启用如下功能: SSL加密功能 查看服务 ...

  4. 在阿里云服务器(ECS)上从零开始搭建nginx服务器

    本文介绍了如何在阿里云服务器上从零开始搭建nginx服务器.阿里云服务器(ECS)相信大家都不陌生,感兴趣的同学可以到http://www.aliyun.com/product/ecs去购买,或到体验 ...

  5. Spring Boot 2.X(十八):集成 Spring Security-登录认证和权限控制

    前言 在企业项目开发中,对系统的安全和权限控制往往是必需的,常见的安全框架有 Spring Security.Apache Shiro 等.本文主要简单介绍一下 Spring Security,再通过 ...

  6. Nginx配置多个基于域名的虚拟主机+实验环境搭建+测试

    标签:Linux 域名 Nginx 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://xpleaf.blog.51cto.com/9 ...

  7. Centos6.8 搭建Nginx服务器

    Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器,其特点是占有内存少,并发能力强,业界内的评价一直很不错,反正用过的都说好,虽然我还 ...

  8. 【四】搭建Nginx服务器

    [任务4]搭建Nginx服务器 [任务4]搭建Nginx服务器 下载Nginx源码包 安装Nginx 解压Nginx安装包 安装Nginx依赖 启动Nginx 安装cgi 下载cgi并解压安装包 编译 ...

  9. 第一次项目上Linux服务器(八:——搭建Nginx图片服务器)

    一.准备工作 安装Nginx,参考历史博客 二.搭建Nginx图片服务器 1.效果 例如:图片通过xftp服务上传到/home/java/upload目录下,我想通过访问Nginx服务器来访问xftp ...

随机推荐

  1. 利用Python进行数据分析 第7章 数据清洗和准备(1)

    学习时间:2019/10/25 周五晚上22点半开始. 学习目标:Page188-Page217,共30页,目标6天学完,每天5页,预期1029学完. 实际反馈:集中学习1.5小时,学习6页:集中学习 ...

  2. JS实现可用滑块滑动的缓动图

    尝试模仿京东的"发现好货"模块的可用滑块滑动的缓动图 JS代码 function $(id) { return document.getElementById(id); } //缓 ...

  3. Scratch零基础起步攻略(一)

    通常,类似这样的文章开头总要阐述一大段关于编程的重要性,还有自己的专业性.权威性等等,我就都省掉了…… 简单介绍一下自己,从事计算机编程教育前前后后有近20年了,面对了不同年龄层次的学员,大部分跟着我 ...

  4. 理解javascript中的立即执行函数(function(){})()(转)

    原文:https://www.cnblogs.com/yanzp/p/6371292.html

  5. MyBatis Generator 自动生成的POJO对象的使用(一)

    MyBatis Generator 会自动生成以下几种类型的对象(除非你使用MyBatis3DynamicSql 的运行环境): Java Model Objects(总是生成) SQL Map Fi ...

  6. 使用Jenkins的Git Parameter插件来从远程仓库拉取指定目录的内容

    更换插件安装源 系统管理---插件管理---高级---升级站点,把默认的插件下载地址换成下面这个: https://mirrors.tuna.tsinghua.edu.cn/jenkins/updat ...

  7. WCF header 域

    [OperationContract] [WebInvoke(UriTemplate = "poststr1")] public string poststr1(csinfo cs ...

  8. jquery判断数据类型源码解读

    var class2type = {}; ("Boolean Number String Function Array Date RegExp Object Error").spl ...

  9. Fatal error:Call to undefined function mysqli_connect() in .php line 报错

    这样的问题,多半是PHP配置问题. 修改php配置文件 1.在php(版本:php-7.2.7-Win32-VC15-x64)文件夹中一开始不会看到php.ini,而是php.ini-developm ...

  10. 编写一个stm32 svc关中断函数

    做到了让stm32触发svc中断并传递进去参数然后切换到handler模式并修改特殊寄存器的值,从而达到关中断,但是其实这个程序直接就是特权级,故不进入handler模式也可以修改特殊寄存器..... ...