nginx常用模块记录

nginx拥有丰富的模块,如何向其中添加各种官方、第三方的功能模块,如何通过修改配置文件来增强nginx的功能将是一个漫长的学习过程。

负载均衡

创建多个tomcat实例,通过配置反向代理来实现

通过upstream中配置ip_hash;

由于处理服务器扩容缩容后会引发大量请求迁移问题,nginx负载均衡建议使用一致性hash算法来配置,使用该模块需要下载并安装到nginx中,
1)下载)安装
找到nginx的configure脚本执行以下命令行

https://github.com/replay/ngx_http_consistent_hash
./configure —add-module=/root/ngx_http_consistent_hash-master
make && make install

3)修改upstream配置

upstream myServer {
			#请求url
			consistent_hash $request_uri;
			#consistent_hash $remote_addr;请求ip
            server 127.0.0.1:8080;
            server 127.0.0.1:8081;
     }

nginx负载均衡策略&动静分离

goAccess实现可视化并监控实时日志

用GoAccess实现可视化并实时监控日志

wget https://tar.goaccess.io/goaccess-1.4.tar.gz
tar -xzvf goaccess-1.4.tar.gz
cd goaccess-1.4/
./configure --enable-utf8 --enable-geoip=legacy
make && make install

支持https

首先需要了解OpenSSL和TLS/SSL的关系

  1. TLS/SSL协议是设计规范,协议的具体实现有很多,但目前最通用的协议实现还是OpenSSL。首先OpenSSL是一个底层密码库,封装了所有的密码学算法、证书管理、TLS/SSL协议实现。
  2. OpenSSL库集成在大部分的操作系统中,从安全性和性能的角度考虑,尽可能使用最新版的库。
  3. HTTP和TLS/SSL协议组合在一起就是HTTPS,就是说HTTPS拥有HTTP的所有特征,并且HTTP消息有TLS/SSL协议进行安全保护。
    在这里插入图片描述

nginx如何支持https

  1. Nginx服务为了支持HTTPS,需要和HTTP进行区分,默认监听443端口,当收到HTTPS请求后,Nginx服务器处理了所有的TLS/SSL协议通信后,再接着处理HTTP数据。
  2. 对于客户端浏览器来说,发送HTTPS请求就是连接服务器的443端口,将所有的HTTP数据传递给TLS/SSL协议,最终有TLS/SSL协议传递给TCL传输层。
  3. 对于服务器端的应用程序来说,无需关心HTTPS还是HTTP,他完全按照HTTP标准处理HTTP头部,负责输出内容,TLS/SSL对于开发者来说完全是透明的。
  4. TLS/SSL协议核心就是三大步骤:认证、秘钥协商、数据加密。

nginx配置域名

    upstream testcom{
	    server 127.0.0.1:8080;
	}
    server {
        listen       80;
        server_name  www.test.com;

	    location / {
		   proxy_pass	http://testcom;
	    }
	    //静态资源放置在nginx根目录下如:staticData/static/login.html
        location /static {
            root   staticData;
        }
  }

跨域配置

location = /log {
                add_header 'Access-Control-Allow-Origin' $http_origin;
                 add_header 'Access-Control-Allow-Credentials' 'true';
                 add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
                 add_header 'Access-Control-Allow-Headers' 'DNT,web-token,app-token,Authorization,Accept,Origin,Keep-Alive,User-Agent,X-Mx-ReqToken,X-Data-Type,X-Auth-Token,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
                add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
                if ($request_method = 'OPTIONS') {
                  add_header 'Access-Control-Max-Age' 1728000;
                   add_header 'Content-Type' 'text/plain; charset=utf-8';
                   add_header 'Content-Length' 0;
                   return 204;
                 }
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值