zoukankan      html  css  js  c++  java
  • nginx配置

    配置nginx的前期准备配置nginx的前期准备

    1.1.1 申请安全协议证书
    申请下来的ssl证书文件解压后会有两个文件;
    一个是.key一个是.pem文件这两个文件是配置https得到关键文件,把两个文件导入到/cert文件夹并记住目录地址以备后续配置使用。
    记住这两个目录地址;
    1.1.2 检查ssl模块
    查看本机nginx是否安装了http_ssl_module模块, 如果没有安装的话要进行重新编译安装。
    查看是否安装了此模块的命令为:

    重新安装的过程见附录
    安装后需要重启nginx服务命令为:/usr/local/nginx/sbin/nginx –s reload
    检查配置文件是否正确:/usr/local/nginx/sbin/nginx -t

    然后再次验证是否安装ssl成功:nginx –V

    1.1.3查看openssl版本
    命令openssl version
    启用TLS1.1、TLS1.2要求OpenSSL1.0.1及以上版本,若您的OpenSSL版本低于要求,请使用 ssl_protocols TLSv1;

    Ps:如果想省略/usr/local/nginx/sbin/nginx这段地址使用nginx则需要添加环境变量
    vi /etc/profile
    在文件末尾添加环境变量:
    PATH=$PATH:/usr/local/nginx/sbin
    export PATH
    保存后退出然后重新加载配置文件
    source etc/profile
    配置完后就可以直接使用nginx来命令了

    1.2 配置过程
    配置命令
    启动 /usr/local/nginx/sbin/nginx
    停止 /usr/local/nginx/sbin/nginx –s quit | /usr/local/nginx/sbin/nginx –s stop
    校验 /usr/local/nginx/sbin/nginx –t
    重新加载配置文件 /usr/local/nginx/sbin/nginx –s reload

    1.2.1修改配置文件
    找到nginx的配置文件
    地址在/usr/local/nginx/conf/ 文件夹中的nginx.conf
    对该配置文件进行编辑:vi nginx.conf
    修改ssl端口号为我们设定开放的端口号,这里假定我们端口号为9091。
    接口请求的uri为:
    https://loclhost:9091/xxx/xxx
    添加ssl配置

    在ssl_certificate和ssl_certificate_key中把之前存放密钥证书的目录地址填上去;
    配置完后退出编辑模式

    upstream nginxserver1 { 
          server  172.16.0.167:9090 ; 
          server  172.16.0.168:9090 ; 
         }
    
    	server {
            listen       80;
            server_name  nginxserver1;
            location / { 
               proxy_pass         http://nginxserver1; 
               proxy_set_header   Host             $host:$server_port;
              proxy_set_header   X-Real-IP        $remote_addr; 
               proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for; 
           } 
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            #error_page  404              /404.html;
    
            # redirect server error pages to the static page /50x.html
            #
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            } 
    server {
            listen       9091;
            server_name  nginxserver1;
    
            ssl_certificate      cert.pem;
            ssl_certificate_key  cert.key;
    
            ssl_session_cache    shared:SSL:1m;
            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_pass         http://nginxserver1; 
               proxy_set_header   Host             $host:$server_port;
               proxy_set_header   X-Real-IP        $remote_addr; 
               proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for; 
            }
        }
        }
    

    使用 nginx –t 来检查配置文件是否有格式错误;
    使用 nginx –s reload 来重新加载配置文件启动;
    调用新的https连接来测试是否成功;

    配置http自动跳转
    不带端口
    rewrite ^(.*) https://$host$1 permanent;
    带端口
    https://localhost:9091$request_uri;

    附录.安装ssl模块

    如果没有安装openssl依赖会导致nginx的ssl模块无法使用,利用openssl version命令查看是否安装ssl,使用nginx -V查看末尾是否有ssl模块没有的话需要重新安装openssl依赖进行重新编译nginx安装。
    安装openssl
    yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel
    重新编译nginx(回到nginx初始位置进行重新编译后赋值nginx到/usr/local/nginx/sbin/nginx中。
    ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module
    然后make//不要make install
    备份原启动程序cp /usr/local/nginx/sbin/nginx nginx.bak
    复制obj新生的启动程序覆盖原启动程序
    cp /usr/local/nginx-xxx/objs/nginx /usr/localnginx/sbin/nginx
    检测nginx是否有问题nginx -V

    重新编译链接:
    参考1
    参考2
    ssl模块字段含义

  • 相关阅读:
    C#中使用Oracle存储过程返回结果集
    微信公众平台开发教程(九)微信公众平台通用开发框架
    微信公众平台开发教程(八)Session处理
    微信公众平台开发教程(七)安全策略
    微信公众平台开发教程(六)获取个性二维码
    微信公众平台开发教程(五)自定义菜单(含实例源码)
    微信公众平台开发教程(三) 基础框架搭建
    微信公众平台开发教程(一) 微信公众账号注册流程
    当"唐僧"没那么容易
    C#编程总结(六)异步编程
  • 原文地址:https://www.cnblogs.com/wangcr/p/12337089.html
Copyright © 2011-2022 走看看