• nginx配置ssl证书


    在nginx的安装目录下创建个目录用来存放证书

    mkdir cert
    
    • 1

    openssl证书生成

    • 生成key:openssl genrsa -des3 -out server.key 2048
    • 通过以下方法生成没有密码的key:openssl rsa -in server.key -out server.key
    • 生成CA的crt:(用来签署下面的server.csr文件) openssl req -new -x509 -key server.key -out ca.crt -days 3650
    • 生成csr: openssl req -new -key server.key -out server.csr
    • 生成crt:openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt

    在nginx.conf中添加以下配置

    server {
        listen       4966 ssl;  # (需要修改的地方)https监听端口,改成自己需要的端口即可
        server_name  localhost; # (需要修改的地方)监听的服务地址
    	ssl_certificate      /etc/nginx/cert/server.crt;  # (需要修改的地方)生成的证书
    	ssl_certificate_key  /etc/nginx/cert/server.key;  # (需要修改的地方)证书key
    	ssl_session_cache    shared:SSL:1m;
    	ssl_session_timeout  30m;
    	ssl_ciphers  HIGH:!aNULL:!MD5;
    	ssl_prefer_server_ciphers  on;
    
    	location / {
            proxy_pass https://localhost:80;  # (需要修改的地方)被转发的IP地址端口
            proxy_set_header   Host                      $http_host;
            proxy_set_header   X-Real-IP              $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_set_header REMOTE-HOST     $remote_addr;
            proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    这样之后重启nginx就OK了。
    之前遇到过配置文件中英文空格的问题,导致报错,所以也需要注意下。

    一些其他相关的笔记

    如果是在docker中的nginx
    docker-compose.yml文件中挂载证书+端口映射

    nginx:
        image: nginx:1.22.1
        container_name: nginx
        restart: always
        ports:
          - "80:80"
          - "4966:4966"
        networks:
          xinjiang:
            aliases:
              - nginx.com
        volumes:
          - /data/web:/usr/share/nginx/web
          - /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
          - /data/nginx/logs:/var/log/nginx
          - /data/nginx/cert/server.crt:/etc/nginx/cert/server.crt
          - /data/nginx/cert/server.key:/etc/nginx/cert/server.key
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
  • 相关阅读:
    从想象力到生产力,VR全景技术让亚运会走进你的身边
    linux Fcitx5
    零知识证明的硬件加速
    Zookeeper
    MongoDB入门与实战-第三章-数据操作增删改查索引
    ELK专栏之ES内部机制-03
    Python按单元格读取复杂电子表格(Excel)数据实践
    Kotlin高仿微信-第21篇-个人信息-修改头像
    vue3+eleement plus日历选择季度
    csapp深入理解计算机系统 bomb lab(1)phase_1
  • 原文地址:https://blog.csdn.net/u010734213/article/details/133202982