首页 > 系统相关 >docker启动nginx https自签名证书配置

docker启动nginx https自签名证书配置

时间:2024-02-23 11:23:37浏览次数:25  
标签:https ssl 证书 nginx key crt docker example

启动测试应用时, 有时需要自己配置证书签名:
1 使用系统自带openssl

openssl req \
> -x509 \
> -nodes \
> -days 365 \
> -newkey rsa:2048 \
> -keyout example.key \
> -out example.crt

各参数含义:

  • req:处理证书签署请求。
  • -x509:生成自签名证书。
  • -nodes:跳过为证书设置密码的阶段,这样 Nginx 才可以直接打开证书。
  • -days 365:证书有效期为一年。
  • -newkey rsa:2048:生成一个新的私钥,采用的算法是2048位的 RSA。
  • -keyout:新生成的私钥文件为当前目录下的example.key。
  • -out:新生成的证书文件为当前目录下的example.crt。
    执行过程中会有一些输入, 着重看下Common Name (e.g. server FQDN or YOUR name) []:127.0.0.1的输入,
    执行完成后当前目录会生成一个自签名key和 crt文件
    2 配置nginx
server {
    listen 443 ssl http2;
    server_name  localhost;

    ssl                      on;
    ssl_certificate          /etc/nginx/certs/example.crt;# 生成crt路径
    ssl_certificate_key      /etc/nginx/certs/example.key; # 生成key路径

    ssl_session_timeout  5m;

    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers   on;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
}

3 启动端口映射(443端口)

docker container run \
  --rm \
  --name mynginx \
  --volume "$PWD/html":/usr/share/nginx/html \
  --volume "$PWD/conf":/etc/nginx \
  -p 127.0.0.2:8080:80 \
  -p 127.0.0.2:8081:443 \
  -d \
  nginx

4 访问应用, 如提示证书不安全, 选择继续访问即可;

标签:https,ssl,证书,nginx,key,crt,docker,example
From: https://www.cnblogs.com/gatling/p/18029074

相关文章

  • docker常用命令
    docker教程1镜像相关1.1查看镜像列表sudodockerimages1.2镜像搜索比如搜索ubuntu基础镜像sudodockersearchubuntu可输出官方的镜像名称,以及star数量,选择一个需要的镜像下拉即可1.3下拉镜像sudodockerpull镜像名sudodockerpull镜像名:Tag1.4查看镜......
  • Jenkins构建提示docker命令权限问题解决方法
    参考:https://zhuanlan.zhihu.com/p/568513293使用Jenkins构建时使用的用户为jenkins在使用docker命令时会报以下错误ERROR:permissiondeniedwhiletryingtoconnecttotheDockerdaemonsocketatunix:///var/run/docker.sock:Get"http://%2Fvar%2Frun%2Fdocker.soc......
  • docker 常用命令 快捷命令
    一、查询节点dockerps-a二、docker重启停止systemctlrestartdockersystemctlstopdockerdockerrestart*三、一键构建数据库mongodockerrun-it-v/datavolumn/mongo:/data/db/mongo--restart=always-p27017:27017--namemongodb-dmongo:4.4.19re......
  • docker neo4j镜像
      报错了:在指定卷(volume)路径时使用了$HOME环境变量。在Windows的命令提示符(cmd)或PowerShell中,环境变量的语法与在类Unix系统的Shell中不同。$HOME在Windows命令行中通常不会被识别为用户的主目录。要解决这个问题,需要使用Windows环境变量的正确语法。在命令......
  • Install fail! ResponseError: certificate has expired, GET https://r.npm.taobao.o
    ×Installfail!Error:certificatehasexpiredError:certificatehasexpiredatTLSSocket.onConnectSecure(_tls_wrap.js:1515:34)atTLSSocket.emit(events.js:400:28)atTLSSocket._finishInit(_tls_wrap.js:937:8)atTLSWrap.ssl.onhandshake......
  • docker中mysql容器中配置时区
    mysql在docker容器中跑默认是取系统时区的,所以一般是UTC的时区,也就是说在中国的话,会比实际时间小8个小时。所以可以在环境变量中配置时区,我这里是通过docker-compose.yml中配置,如下图:[root@localhostmysql8]#catdocker-compose.ymlversion:'3'services:mysql8:......
  • 腾讯云Linux服务器 前端Nginx+后端 项目部署
    一、前端项目部署1.安装nginx服务器:在root目录下创建services文件并下载nginx源文件【nginx-1.21.6.tar.gz】 建议尽量选择稳定版本下载  nginx官网下载地址​​​​cd/rootmkdirservicescdservicescurl-onginx-1.21.6.tar.gzhttp://nginx.org/download/......
  • C# 采用HttpWebRequest 、WebClient和HttpClient下载https的文件异常问题
    今天有个客户反应,程序下载文件失败,无法正常使用。远程客户电脑后,查看错误日志,都是提示https:****************************.dll等一系列文件的下载错误提示提示基础连接已经关闭:发送时发生错误。在网上找了很多方案都没有能解决,大多都是https链接时增加指定协议,很遗憾未能解......
  • ubutun部署nginx 静态页面资源
    本教程使用安装包安装安装前你需要安装以下依赖apt-getinstallgccapt-getinstalllibpcre3libpcre3-devapt-getinstallzlib1gzlib1g-devsudoapt-getinstallopensslsudoapt-getinstalllibssl-dev说明:Nginx是高度自由化的Web服务器,它的功能是由许多模块来支持......
  • Docker Swarm部署nginx+api-service实现负载均衡
    背景介绍api服务开发完毕之后如何快速部署实现负载均衡。如果不是重量级的项目,非常建议使用DockerSwarm来实现,非常简单高效且稳定。关于DockerSwarm集群的构建详见我的另一篇博客:DockerSwarm集群搭建相关文件准备(这里以一个ocr服务为例)docker-compose.ymlversion:'......