美文网首页
Nginx负载、HTTPS转发HTTP

Nginx负载、HTTPS转发HTTP

作者: 晴天灬 | 来源:发表于2018-06-13 13:43 被阅读306次

    一、安装Nginx
    在安装nginx之前需要安装:gcc++ 、openssl 、openssl-devel
    yum -y install openssl openssl-devel
    yum -y install gcc++
    安装nginx:
    进入解压后的nginx目录中执行
    ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --without-http_rewrite_module
    看到下图的输出,即成功。接着运行make && make install

    image.png
    PS:记得创建nginx用户,这里手懒了直接用的别人文章的截图
    image.png

    二、生成证书
    第一步:使用OpenSSL创建证书

    建立服务器私钥(过程需要输入密码,请记住这个密码)生成RSA密钥

    openssl genrsa -des3 -out server.key 1024

    生成一个证书请求

    openssl req -new -key server.key -out server.csr
    需要依次输入国家,地区,组织,email。最重要的是有一个common name,可以写你的名字或者域名。如果为了https申请,这个必须和域名吻合,否则会引发浏览器警报。生成的csr文件交给CA签名后形成服务端自己的证书
    Enter pass phrase for server.key: #之前输入的密码
    Country Name (2 letter code) [XX]: #国家
    State or Province Name (full name) []: #区域或是省份
    Locality Name (eg, city) [Default City]: #地区局部名字
    Organization Name (eg, company) [Default Company Ltd]: #机构名称:填写公司名
    Organizational Unit Name (eg, section) []: #组织单位名称:部门名称
    Common Name (eg, your name or your server's hostname) []: #网站域名
    Email Address []: #邮箱地址
    A challenge password []: #输入一个密码,可直接回车
    An optional company name []: #一个可选的公司名称,可直接回车

    输入完这些内容,就会在当前目录生成server.csr文件

    cp server.key server.key.org
    openssl rsa -in server.key.org -out server.key

    使用上面的密钥和CSR对证书进行签名

    以下命令生成v1版证书

    openssl x509 -req -days 365 -sha256 -in server.csr -signkey server.key -out servernew.crt

    以下命令生成v3版证书(v1即可满足,小编未用到v3版本)

    openssl x509 -req -days 365 -sha256 -extfile openssl.cnf -extensions v3_req -in server.csr -signkey server.key -out servernew.crt

    三、Nginx配置
    nginx的http默认不用关
    打开https的标签,并配置负载


    image.png
    #upstream lisbs
    upstream lisbs {
        server 后端挂载服务器1:8080;
        server 后端挂载服务器2:8080;}
    
    # HTTPS server
    #
    server {
        listen       443 ssl;
        server_name  localhost;
    
        ssl_certificate      servernew.crt;
        ssl_certificate_key  server.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;
            proxy_pass http://lisbs;
        }
    }
    

    至此,剧终。
    鸣谢,引用文章:
    https://blog.csdn.net/cangzihu/article/details/53488996
    https://blog.csdn.net/kefengwang/article/details/54233554

    image.png

    相关文章

      网友评论

          本文标题:Nginx负载、HTTPS转发HTTP

          本文链接:https://www.haomeiwen.com/subject/vrjjeftx.html