美文网首页
# nginx https证书配置

# nginx https证书配置

作者: 阳光_8af8 | 来源:发表于2017-11-22 10:59 被阅读0次

    nginx https证书配置

    一 前言

    此文档针对于nginx配置反向代理使用https证书方法

    nginx作为反向代理服务器,将证书配置于nginx服务器上,与后端服务器采用http连接,前端采用https安全链接

    二 配置步骤

    1. 依赖:

    nginx安装完成,并且80,443端口开放

    2. 下载证书

    在nginx目录下创建cert目录,下载证书至cert目录并解压

    mkdir /etc/nginx/cert
    cd /etc/nginx/cert
    ##下载证书至此
    unzip 214033975830630.zip
    

    3. 修改nginx配置文件

    默认为/etc/nginx/nginx.conf,本文为vim /etc/nginx/include/123.conf 将其修改为 (以下属性中ssl开头的属性与证书配置有直接关系,其它属性请结合自己的实际情况复制或调整) :

    server {
        listen 443;
        listen 80;
        server_name 123.hidc.com;
        ssl on;
    set $mylight "";
         if ($http_accept_encoding ~* gzip) {
          set $mylight "gzip";
         }
        root html;
        index index.html index.htm;
        ssl_certificate   cert/214033975830630.pem;
        ssl_certificate_key  cert/214033975830630.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 / {
            #root   html;
            #index  index.html index.htm;
            gzip on;
            gzip_types text/plain application/x-javascript application/javascript text/css application/xml application/json;
             proxy_next_upstream http_502 http_504 error timeout invalid_header;
             #proxy_cache cache_one;
             #proxy_cache_valid 200 304 12h;
             #proxy_cache_key $host$uri$is_args$args;
             proxy_set_header Host $host;
             proxy_set_header X-Forwarded-For $remote_addr;
             proxy_pass http://webgis_server_cluster_https;
             #expires 1d;
    
        }
    }
    

    三 验证

    重启nginx服务 /etc/init.d/nginx restart 打开浏览器访问https://123.hidc.com
    如下图所示即可

    四 配置nginx 同时支持http和https

    同个域名支持 https 和 http 两种方式访问,可以如下配置文件:

    server
         {
             listen 80;
             listen      443 ssl;   //修改后
             server_name  liu.test.com;
             location /
                {
                  expires      302400s;
    
                  proxy_pass   http://xxxx/xxxx/;            
                     }
                  #ssl on;    //修改后
                  ssl_certificate /usr/local/nginx/conf/server.crt;
                  ssl_certificate_key /usr/local/nginx/conf/server.key;
                  access_log  /usr/local/nginx/xxxx.log   log_access;
    
          }
    

    五 强制使用https

    若想强制使用https访问,对端口进行判断,然后rewrite即可。

    if ($server_port != 443) {
        rewrite (.*) https://$host$1 permanent;
    }
    

    相关文章

      网友评论

          本文标题:# nginx https证书配置

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