首页 > 系统相关 >nginx 协议修改 HTTP改为HTTPS

nginx 协议修改 HTTP改为HTTPS

时间:2022-11-08 18:55:35浏览次数:73  
标签:HTTP key HTTPS openssl server nginx conf 私钥

协议修改 HTTP改为HTTPS

1.存在证书和私钥

1.把证书和私钥放到指定位置

直接把证书和私钥放到nginx容器映射物理目录的conf/conf.d中(这个目录自定义,想放在哪里都可以,只要可以映射到容器内就可以),例如:

#nginx docker-compose
  nginx:
    image: nginx:latest
    restart: always
    container_name: nginx
    ports:
    - 8888:80
    volumes:
    - "/home/webServer/nginx/conf/nginx.conf:/etc/nginx/nginx.conf"
    - "/home/webServer/nginx/conf/conf.d:/etc/nginx/conf.d"
    - "/home/webServer/nginx/log:/var/log/nginx"
    - "/home/webServer/nginx/html:/usr/share/nginx/html"
    networks:
      - tinyscan
    
# 1. 将证书和私钥放到/home/webServer/nginx/conf/conf.d目录下

2.修改nginx配置

将监听端口由80改为443,增加ssl, ssl_certificate, ssl_certificate_key

3.重启

docker restart nginx

2.自生成证书与私钥

1.安装OpenSSL

  • 安装依赖环境
# 检测是否安装gcc,如果有则不需要安装
gcc -v
# 安装
yum -y install gcc

# 检查是否已安装zlib库,如果有则不需要安装
whereis zlib
# 安装
yum -y install zlib

# 下载OpenSSL包
wget https://www.openssl.org/source/openssl-fips-2.0.16.tar.gz
# 解压
tar -xzf openssl-fips-2.0.16.tar.gz
# 进入目录
cd openssl-fips-2.0.16/
#设置安装路径
./config --prefix=/usr/local/openssl
# 编译安装
make && make install
# 查看版本
openssl version

2.生成证书

参考:https://blog.csdn.net/weixin_44110998/article/details/104021002

  • 创建一个目录

用于保存证书和私钥。(也可以放到其他目录下)

mkdir /home/yyx/https_key
  • 进入目录
cd /home/yyx/https_key
  • 创建服务器私钥

注:长度1024位, des3加密算法的. (之后输入一个口令(两遍),需要记住)

openssl genrsa -des3 -out server.key 1024

我虚拟机环境是ubuntu 20.04,需将1024改为2048否则nginx重启会报错, 报错如下

2022/11/08 08:50:55 [warn] 1#1: the "ssl" directive is deprecated, use the "listen ... ssl" directive instead in /etc/nginx/nginx.conf:44
2022/11/08 08:50:55 [emerg] 1#1: SSL_CTX_use_certificate("/etc/nginx/conf.d/server.crt") failed (SSL:error:140AB18F:SSL routines:SSL_CTX_use_certifi                            cate:ee key too small)
openssl genrsa -des3 -out server.key 2048
  • 创建签名请求的证书CSR

首先会输入密码(上边设置的),会要求你输入国别,比如CN,省份,城市,公司等等一系列信息,自己玩的可以随意输入

最后输入的A challenge password []:和An optional company name []:可以直接回车跳过

openssl req -new -key server.key -out server.csr
  • 在加载SSL支持的Nginx并使用上述私钥时除去必须的口令
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key  #需要输入密码
  • 标记证书使用上述私钥和CSR
注:365是过期天数
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
  • 查看证书和私钥是否创建成功
[root@localhost key_dir]# ls
server.crt  server.csr  server.key  server.key.org
[root@localhost key_dir]# 

3.后面两步同存在证书和私钥步骤中的后两步

标签:HTTP,key,HTTPS,openssl,server,nginx,conf,私钥
From: https://www.cnblogs.com/yyx0417/p/16870806.html

相关文章

  • 说说http,https协议
    HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络......
  • Nginx SSL 双向认证,key 生成和配置
    一、安装Nginx和OpenSSLyuminstallnginxopenssl-y二、SSL服务器/客户端双向验证证书的生成创建一个新的CA根证书,在nginx安装目录下新建ca文件夹,进入ca,创......
  • 5大关于https的误区,你需要知道一下
    如今,https协议正在被广泛重视和使用。随着今年2月初,谷歌旗下Chrome浏览器宣布将所有http标示为不安全网站,许多网站都争相从http升级到了https。当你打开很多网站时,会发现浏......
  • 五分钟给你的 gRPC服务 加上 HTTP 接口
    gRPC服务要加HTTP接口?go-zero给大家带来极简的RESTful和gRPC服务开发体验的同时,社区又给我们提出了新的期望:我想只写一次代码既要gRPC接口也要HTTP接口既要。。......
  • 转载:谷歌浏览器一些https打不开点击高级不行的解决办法
    转载:https://blog.51cto.com/u_15275035/2925642关于谷歌浏览器一些https网站打不开点击高级不行的解决办法有些url,在谷歌浏览器上打不开,点击高级也没有继续前往的选项点......
  • nginx
    nginx概念什么是反向代理?-代理:通过客户机的配置,实现让一台服务器代理客户机,客户的所有请求都交给代理服务器处理。-反向代理:用一台服务器,代理真实服务器,用户访问时,不再......
  • 【前端面试题】—26道HTTP和HTTPS的面试题(附答案)
    Web前端就是当用户在浏览器地址栏中输入一行字母看到的页面结果。然而,从输入字母到看到页面中都发生了什么,数据是怎么得到的?这些都离不开HTTP/HTTPS。然而,这部分内容通常被......
  • Nginx的概述与配置
    一、Nginx概述1、Nginx的特点一款高性能、轻量级web服务•稳定性高•系统资源消耗低高•对HTTP并发连接的处理能力单台物理服务器可支持30000~50000个并发请求2......
  • Web基础与HTTP协议
    一Web基础1.1域名概述域名的概念IP地址不易记忆早期使用Hosts文件解析域名主机名称重复主机维护困难DNS(DomainNameSystem域名系统)分布式层次性域名空间结构......
  • HTTP代理为什么说很安全
    随着时代的进步,网络的发达,依靠网络工作的人员也越来越多,HTTP代理的存在帮助了很多网络工作人员达到了高效率的工作。HTTP代理不仅网络工作人员可以常用到,个人也可以使......