• nginx https 配制


    1、前置条件

    ssl证书(两个文件:一个key后缀,一个pem后缀;生成方法很多这里不再介绍);docker环境

    2、docker pull nginx:latest

    3、创建目录 nginx, 用于存放后面的相关东西

    mkdir -p /home/nginx/www /home/nginx/logs /home/nginx/conf

    把我们的静态HTML页面放到 /home/nginx/www 文件夹下面;

    4、在创建的 /home/nginx/conf 文件夹下面创建一个叫 nginx.conf 的文件如下:

    user  nginx;

    worker_processes  1;
     
    error_log  /var/log/nginx/error.log warn;
    pid        /var/run/nginx.pid;
     
     
    events {
        worker_connections  1024;
    }
     
     
    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;
    }
    5、docker run -d -p 80:80 -p 443:443 --name nginx-server -v /home/nginx/www:/usr/share/nginx/html -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/logs:/var/log/nginx nginx

    命令说明:

    • -p 80:80: 将容器的 80 端口映射到主机的 80 端口。

    • -p 443:443: 将容器的 80 端口映射到主机的 443 端口。
    • --name nginx-server:将容器命名为 nginx-server。

    • -v /home/nginx/www:/usr/share/nginx/html:将我们自己创建的 www 目录挂载到容器的 /usr/share/nginx/html。

    • -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将我们自己创建的 nginx.conf 挂载到容器的 /etc/nginx/nginx.conf。

    • -v /home/nginx/logs:/var/log/nginx:将我们自己创建的 logs 挂载到容器的 /var/log/nginx。

     启动之后便可以通过域名访问到我们的HTML页面了,但是还没完

    6、修改nginx.conf

    在我们刚刚创建的 nginx.conf 文件里面插入以下内容:(注意先不要重启)

    server {

        listen       443 ssl;
        server_name  fightingtop.cn www.fightingtop.cn;
        root         /usr/share/nginx/html;
        ssl_certificate      /ssl/certificate.pem;
        ssl_certificate_key  /ssl/2832429_fightingtop.cn.key;
        ssl_session_timeout  5m;
        ssl_session_cache    shared:SSL:1m;
        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   /usr/share/nginx/html;
            index  index.html index.htm;
        }
    }
     
    server {
        listen 80;
        server_name fightingtop.cn www.fightingtop.cn;
        rewrite ^ https://$host$1 permanent;
    }
    7、将两个证书文件拷贝到nginx容器

    先进入nginx容器在根目录创建一个ssl文件夹,用来放证书

    docker exec -it aa5badebd38a /bin/bash<br>cd /<br>mkdir ssl

    docker cp /home/ssl/certificate.key aa5badebd38a:/ssl/

    docker cp /home/ssl/certificate.pem aa5badebd38a:/ssl/

  • 相关阅读:
    魔方
    js烟花特效
    面试cookie
    扩展日期插件
    通过javascript实现1~100内能同时被2和3整除的数并生成如下表格
    用三或四个个div标签实现工字效果
    2015_WEB页面前端工程师_远程测题_东方蜘蛛_1
    js公有、私有、静态属性和方法的区别
    Docker libnetwork(CNM)设计简介
    kubernetes,Docker网络相关资料链接
  • 原文地址:https://www.cnblogs.com/xiexun/p/14277379.html
Copyright © 2020-2023  润新知