实践笔记-nginx配置ssl证书

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

mkdir cert

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;
    }
}

这样之后重启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
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值