zoukankan      html  css  js  c++  java
  • 2.了解nginx常用的配置

    作者

    微信:tangy8080
    电子邮箱:914661180@qq.com
    更新时间:2019-07-10 20:56:10 星期三

    欢迎您订阅和分享我的订阅号,订阅号内会不定期分享一些我自己学习过程中的编写的文章
    如您在阅读过程中发现文章错误,可添加我的微信 tangy8080 进行反馈.感谢您的支持。

    文章主题

    了解nginx常用的配置

    前置条件

    已经安装好了nginx,如未安装请参考nginx安装和基本配置

    正文

    auth_basic的认证配置

    auth_basic在nginx里用的应该比较多,经常用于一些不能认证功能应用的基础授权。例如您可以将其用在kibana中

    1.首先需要生成用户名和密码

    使用openssl来生成,生成命令(openssl在安装nginx的时候已经安装)

    echo "kibana:$(openssl passwd -crypt 1234567890)" >>/usr/local/nginx/conf/httpasswd
    echo "consul:$(openssl passwd -crypt 1234567890)" >>/usr/local/nginx/conf/httpasswd
    echo "etcd:$(openssl passwd -crypt 1234567890)" >>/usr/local/nginx/conf/httpasswd
    
    2.为需要授权的资源添加授权配置
    server{ 
          listen 50813; 
          location / {
            auth_basic    "please login";
            auth_basic_user_file /usr/local/nginx/conf/httpasswd;
            proxy_http_version 1.1;      
            proxy_pass  http://kibana;
          } 
        }
    

    auth_basic_user_file:是用户名和密码的配置文件地址

    ssl的配置

    首先您需要先购买证书,如果只是想用于实验,可以尝试Let’s Encrypt,申请地址:https://www.sslforfree.com/, 需要按照提示在域名管理控制台添加TXT记录

        server{ 
    	    listen 443;
    		server_name rabbitmq.honeysuckle.site;
    		ssl on;
    		ssl_certificate   /usr/local/nginx/cert/certificate.crt;
    		ssl_certificate_key  /usr/local/nginx/cert/private.key;
    		ssl_session_timeout 5m;
    		ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    		ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    		ssl_prefer_server_ciphers on;	  
    		location / {
    			proxy_set_header Host $http_host;
    			proxy_set_header X-Forward-For $http_x_forwarded_for;
    			proxy_http_version 1.1;	  
    			proxy_pass  http://mqweb_backends;
    		} 
        }
    
    • ssl on 为指定虚拟机启用HTTPS protocol
    • ssl_certificate 当前虚拟主机使用PEM格式的证书文件
    • ssl_certificate_key 当前虚拟主机上与其证书匹配的私钥文件
    • ssl_protocols 支持ssl协议版本
    • ssl_session_timeout 客户端连接可以复用ssl session cache中缓存的ssl参数的有效时长,默认5m
    • ssl_ciphers 指定启用的密码。密码以OpenSSL库理解的格式指定,可以使用“ openssl ciphers”命令查看完整列表。

    常用的负载均衡算法

    轮询策略(轮询加权/round-robin)
    http {
        upstream tomcats {
            server 192.168.0.180:8080 weight=1 fail_timeout=20s;
            server 192.168.0.181:8080 weight=2 fail_timeout=20s;
        }
        server {
            server_name www.test.com
            listen 80;
            location / {
                proxy_pass http://tomcats;
            }
        }
    }
    
    • 上面通过weight参数指定了轮询机率,weight和访问比率成正比,用于后端服务器性能不均的情况。
    • 如果不加权重,将按照默认的等比权重进行代理
    ip_hash(ip绑定)
    http {
        upstream tomcats {
            ip_hash; 
            server 192.168.0.180:8080 weight=1 fail_timeout=20s;
            server 192.168.0.181:8080 weight=2 fail_timeout=20s;
        }
        server {
            server_name www.test.com
            listen 80;
            location / {
                proxy_pass http://tomcats;
            }
        }
    }
    

    使用ip_hash来解决有状态的会话,每个访客固定访问一个后端服务器

    fair
    http {
        upstream tomcats {
            fair; 
            server 192.168.0.180:8080;
            server 192.168.0.181:8080;
        }
        server {
            server_name www.test.com
            listen 80;
            location / {
                proxy_pass http://tomcats;
            }
        }
    }
    

    按后端服务器的响应时间来分配请求,响应时间短的优先分配。

    url_hash
    http {
        upstream tomcats {
            hash $request_uri;
            server 192.168.0.180:8080;
            server 192.168.0.181:8080;
        }
        server {
            server_name www.test.com
            listen 80;
            location / {
                proxy_pass http://tomcats;
            }
        }
    }
    

    按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效

    常用参数说明

    https://www.cnblogs.com/yinzhengjie/p/7788237.html

    引用链接

    https://blog.csdn.net/xqhys/article/details/81788358

    请尽量按照自己期望的生活 email:18980489167@189.cn
  • 相关阅读:
    [SAP ABAP开发技术总结]OLE
    [SAP ABAP开发技术总结]ABAP读写、解析XML文件
    [SAP ABAP开发技术总结]FTP到文件服务器,服务器上文件读写
    [SAP ABAP开发技术总结]Function远程、同步、异步调用
    [SAP ABAP开发技术总结]采购、销售、生产简单业务流程
    [SAP ABAP开发技术总结]IDoc
    [SAP ABAP开发技术总结]BAPI调用
    [SAP ABAP开发技术总结]业务对象和BAPI
    [SAP ABAP开发技术总结]增强Enhancement
    [SAP ABAP开发技术总结]SD销售订单定价过程
  • 原文地址:https://www.cnblogs.com/gytangyao/p/11406074.html
Copyright © 2011-2022 走看看