Nginx负载均衡、 ssl工作流程、生产ssl密钥对、Nginx配置ssl

Nginx负载均衡

负载均衡即是代理服务器将接收的请求均衡的分发到各服务器中
编辑虚拟主机配置文件
vim /usr/local/nginx/conf/vhost/ld.conf

在配置文件中添加如下内容

upstream qq_com
{
    ip_hash;
    server 61.135.157.156:80;
    server 125.39.240.113:80;
}
server
{
    listen 80;
    server_name www.qq.com;
    location /
    {
        proxy_pass http://qq_com;
        proxy_set_header Host   $host;
        proxy_set_header X-Real-IP      $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

ip_hash 是让同一个用户始终保持在同一台机器上


ssl原理

https和http的区别是通信是加密的,如果不加密就有可能被从中间截掉,泄露数据,而加密了的即使被人截到也是看不了内容的。

实现加密解密的流程:


生产ssl密钥对

进入nginx 配置目录
cd /usr/local/nginx/conf

执行命令生成密钥
openssl genrsa -des3 -out tmp.key 2048

转换key,取消密码
openssl rsa -in tmp.key -out test.key

可以删除原来的key
rm -f tmp.key

生成证书请求文件,需要拿这个文件和私钥一起生产公钥文件
openssl req -new -key test.key -out test.csr

生成公钥,这里的test.crt为公钥
openssl x509 -req -days 365 -in test.csr -signkey test.key -out test.crt


Nginx配置ssl

生成一个新的虚拟主机配置文件
vim /usr/local/nginx/conf/vhost/ssl.conf

在配置文件中添加如下内容
server

{
    listen 443;
    server_name lx.com;
    index index.html index.php;
    root /data/wwwroot/lx.com;
    ssl on;
    ssl_certificate test.crt;
    ssl_certificate_key aminglinux.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
}

创建网站的目录
mkidir /data/wwwroot/lx.com

检查配置文件是否错误
/usr/local/nginx/sbin/nginx -t

如果出现如下错误表示ssl moudle没有安装,那么需要重新编译安装nginx
nginx:[emerg] unknown directive "ssl" in /usr/local/nginx/conf/vhost/ssl.conf:7
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed

进入nginx源码包,
cd /usr/local/src/nginx-1.12.1/

安装ssl_module

./configure --prefix=/usr/local/nginx  --with-http_ssl_module
make
make install

安装完成后再检查下配置文件是否出现错误
/usr/local/nginx/sbin/nginx -t

如果没出现错误重启下nginx服务
/etc/init.d/nginx restart

检查下443端口是否监听
netstat -lntp

tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 4128/nginx: master #出现这一行表示正常

再网站目录下创建一个测试页,内容自己写即可
vim /data/wwwroot/lx.com/index.html

访问测试
curl https://lx.com/ 访问网站,出现如下的提示,因为证书是自己颁发的,所以不合法,但实际上已经配置成功
curl: (60) Peer‘s certificate issuer has been marked as not trusted by the user.
More details here: http://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default, using a "bundle"
of Certificate Authority (CA) public keys (CA certs). If the default
bundle file isn‘t adequate, you can specify an alternate file
using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you‘d like to turn off curl‘s verification of the certificate, use
the -k (or --insecure) option.

原文地址:http://blog.51cto.com/13658403/2128566

时间: 2024-11-11 02:31:58

Nginx负载均衡、 ssl工作流程、生产ssl密钥对、Nginx配置ssl的相关文章

LVS负载均衡DR工作流程

LVS负载均衡DR工作流程 (a) 当用户请求到达Director Server,此时请求的数据报文会先到内核空间的PREROUTING链. 此时报文的源IP为CIP,目标IP为VIP (b) PREROUTING检查发现数据包的目标IP是本机,将数据包送至INPUT链 (c) IPVS比对数据包请求的服务是否为集群服务,若是,将请求报文中的源MAC地址修改为DIP的MAC地址,将目标MAC地址修改RIP的MAC地址,然后将数据包发至POSTROUTING链. 此时的源IP和目的IP均未修改,仅

Nginx负载均衡项目部署流程(一个Nginx&两个tomcat项目)

1.Nginx安装  (试验环境为Windows环境下的1.16.1版本) (下载地址:http://nginx.org/en/download.html) 2.Nginx配置文件修改 在http{}下修改如下: upstream myServer{ server 127.0.0.1:8080 weight=1; server 127.0.0.1:8081 weight=2; } server { listen 81; location / { proxy_pass http://myServe

Nginx的架构及工作流程

NGINX是一个免费的,开源的,高性能的HTTP服务器和反向代理,以及IMAP / POP3代理服务器.NGINX以其高性能,稳定性,丰富的功能集,简单的配置和低资源消耗而闻名,也是为解决C10K问题而编写的服务器之一.本文主要介绍Nginx的架构及工作流程. 一.Nginx的架构如下图 1.nginx启动后会有一个master进程和多个worker进程(woeker进程数量可配置,一般设置与机器的核心数一致),master进程负责管理worker进程(接收外界信号,发送信号到各worker进程

Nginx 负载均衡

原文地址:http://nginx.com/resources/admin-guide/load-balancer/ Nginx Load Balancing nginx 负载均衡 This section describes how to use NGINX and NGINX Plus as a load balancer. 本章将讨论如何使用Nginx和Nginx加做负载均衡器. In This Section 本章包括 Load balancing overview 负载均衡概览 Pro

【转】浅谈一个网页打开的全过程(涉及DNS、CDN、Nginx负载均衡等)

1.概要 从用户在浏览器输入域名开始,到web页面加载完毕,这是一个说复杂不复杂,说简单不简单的过程,下文暂且把这个过程称作网页加载过程.下面我将依靠自己的经验,总结一下整个过程.如有错漏,欢迎指正. 阅读本文需要读者已有一定的计算机知识,了解TCP.DNS等. 2.分析 众所周知,打开一个网页的过程中,浏览器会因页面上的css/js/image等静态资源会多次发起连接请求,所以我们暂且把这个网页加载过程分成两部分: html(jsp/php/aspx) 页面加载(假设存在简单的Nginx负载均

浅谈一个网页打开的全过程(涉及DNS、CDN、Nginx负载均衡等)

1.概要 从用户在浏览器输入域名开始,到web页面加载完毕,这是一个说复杂不复杂,说简单不简单的过程,下文暂且把这个过程称作网页加载过程.下面我将依靠自己的经验,总结一下整个过程.如有错漏,欢迎指正. 阅读本文需要读者已有一定的计算机知识,了解TCP.DNS等. 2.分析 众所周知,打开一个网页的过程中,浏览器会因页面上的css/js/image等静态资源会多次发起连接请求,所以我们暂且把这个网页加载过程分成两部分: html(jsp/php/aspx) 页面加载(假设存在简单的Nginx负载均

nginx负载均衡集群

nginx负载均衡集群  0.前言:nginx 负载均衡,属于网络7层模型中的应用层,说白了就是一个代理,要用 upstrem 模块实现,代理则用proxy模块 1.可以针对域名做转发,lvs只能针对ip(牵扯到ip和内核的改动) 2.优势: (a)非常灵活地配置负载均衡 (b)可以根据域名去转发  应用情景:不同域名对应不同机器 或者 域名下有二级目录,不同目录可以针对不同的real server(不需要配置公网 IP) 实验环境: director主机: 192.168.131.132 re

Nginx负载均衡-day

1 Nginx负载均衡实战 Nginx的负载均衡可以用自带的upstream模块完成,本身还自带健康检查,非常简单.不但可以负载web,还可以负载fastcgi.memcached,功能非常强大 1.1 环境准备 #需要准备四台服务器.LB01.LB02.RS01.RS02 LB01: ip: eth0:172.16.50.1 eth1:10.0.0.1 LB02: ip: eth0:172.16.50.2 eth1:10.0.0.2 RS01: ip: eth0:10.0.0.80 RS01:

LNMP(Nginx负载均衡,SSL原理,Nginx配置SSL,生产SSL密钥对)

一.Nginx负载均衡 负载均衡:单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况.那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以上即可. 在开始部署负载均衡之前,我们先来介绍一个命令,dig命令需要yum安装一下 [[email protected] ~]# yum install bind-utils [[email protected] ~]# dig qq.com            (dig后加域名,他可以返回2个