美文网首页
nginx配置https

nginx配置https

作者: trustjs | 来源:发表于2019-03-20 16:08 被阅读0次

    我的服务器使用的系统是CentOS 6,因此直接使用yum安装nginx,其它系统以及版本可能有所差异。

    使用yum安装nginx

    step1, 先要安装nginx的yum源

    设置源

    rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
    

    执行完上面的命令后,我们使用命令yum info nginx查看一下Nginx 软件包信息.

    [root@host nginx]# yum info nginx
    已加载插件:fastestmirror
    Loading mirror speeds from cached hostfile
     * base: repos.lax.quadranet.com
     * elrepo-kernel: repos.lax-noc.com
     * extras: mirror.fileplanet.com
     * updates: mirror.scalabledns.com
    已安装的软件包
    Name        : nginx
    Arch        : i686
    Version     : 1.14.2
    Release     : 1.el6.ngx
    Size        : 2.5 M
    Repo        : installed
    From repo   : nginx
    Summary     : High performance web server
    URL         : http://nginx.org/
    License     : 2-clause BSD-like license
    Description : nginx [engine x] is an HTTP and reverse proxy server, as well as
                : a mail proxy server.
    
    可安装的软件包
    Name        : nginx
    Arch        : i386
    Version     : 1.12.2
    Release     : 1.el6.ngx
    Size        : 967 k
    Repo        : nginx
    Summary     : High performance web server
    URL         : http://nginx.org/
    License     : 2-clause BSD-like license
    Description : nginx [engine x] is an HTTP and reverse proxy server, as well as
                : a mail proxy server.
    

    安装

    step2, 安装nginx, 使用命令yum install nginx安装,等待安装完成。

    yum install nginx
    

    检查nginx 版本nginx -v

    [root@host nginx]# nginx -v
    nginx version: nginx/1.14.2
    

    这个时候我们发现nginx已经安装成功了。

    查看nginx配置

    使用yum安装的nginx, 默认配置文件放在/etc/nginx/nginx.conf ,使用命令nginx -t 可以拿到配置文件的存放路径;这个命令用于测试配置文件语法是否准确无误。

    [root@host nginx]# nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    

    使用vim查看配置内容如下:

    .......
    .......
    http {
        include       /etc/nginx/mime.types;
        default_type  application/octet-stream;
    
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  /var/log/nginx/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        keepalive_timeout  65;
    
        #gzip  on;
        include /etc/nginx/conf.d/*.conf;
    }
    

    看最后一行include /etc/nginx/conf.d/*.conf; 便知nginx include 了./conf.d/ 下面的所有配置文件,因此我们也可以将配置文件放在./conf.d/ 目录下。

    配置https站点

    在配置Https 之前,我们需要准备好购买的SSL证书文件,我使用的是阿里云提供的免费证书。
    1、将证书文件传到服务器,我使用的是scp命令将证书拷贝到服务器的/etc/nginx/ssl_certs/目录下面。现在该目录下有两个文件,xxx.pemxxx.key

    2、在创建配置文件/etc/nginx/conf.d/目录下创建 xxx.conf 文件

    touch /etc/nginx/conf.d/draw.lyan.me.conf
    

    将如下配置copy到配置文件中

    server {
        listen       443 ssl;
        server_name  draw.lyan.me;
        ssl_certificate      /etc/nginx/ssl_certs/draw.lyan.me.pem;
        ssl_certificate_key  /etc/nginx/ssl_certs/draw.lyan.me.key;
        #ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }
    }
    
    server {
        listen 80;
        server_name draw.lyan.me; # 你的域名
        # 强制跳转https
        rewrite ^(.*) https://$server_name$1 permanent;
    }
    

    最后重启 nginx, 使用 service nginx restart 命令重启。

    [root@host conf.d]# service nginx restart
    Stopping nginx:                                            [  OK  ]
    Starting nginx:                                            [  OK  ]
    

    访问 https://draw.lyan.me ,(PS: 我的服务器配置了dns解析),即可发现https已经生效

    image.png

    相关文章

      网友评论

          本文标题:nginx配置https

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