docker安装nginx并配置ssl证书

这篇具有很好参考价值的文章主要介绍了docker安装nginx并配置ssl证书。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、准备SSL证书

腾讯云申请
docker安装nginx并配置ssl证书

阿里云申请
docker安装nginx并配置ssl证书
还有一步DNS验证,因为我这边已经申请了证书,不好演示了。也挺简单的,按照教程来就行了,在域名解析里面加一条DNS解析记录,然后点击验证,通过了,就申请成功了,然后下载nginx版本的证书压缩包,解压上传到服务器就可以了

*稍微需要注意下,腾讯云和阿里云的证书文件后缀有点不一样,腾讯云是xx.crt和xx.key,阿里云是xx.pem和xx.key,都可以正常使用

二、下载最新nginx镜像

docker pull nginx

三、新建几个目录,把nginx容器内的配置文件挂载到主机上

mkdir -p /usr/local/nginx/{conf,html,logs,ssl}

这一步的目的是:1方便后期修改配置文件 2容器删除后配置文件也会删除,相当于多了个备份

四、启动一个nginx临时容器,把配置文件复制过来,然后删除

#启动一个nginx容器
docker run --name nginx -p 80:80 -d nginx
#复制配置文件
docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx/conf/
docker cp nginx:/etc/nginx/conf.d /usr/local/nginx
#复制完了,可以把这个容器删了,先停止再删除
docker stop nginx
docker rm nginx

这一步是为了获得正确的nginx配置文件格式

五、把SSL证书上传到服务器

#上传到这个目录下面,ssl是我们刚才创建的目录
/usr/local/nginx/ssl

六、修改nginx.conf配置文件,配置SSL证书

server {
	listen 80;
	#填写绑定证书的域名
	server_name _;
	#把http的域名请求转成https,相当于用户访问http也可以自动跳转到https,避免出现网页提示不安全
	return 301 https://$host$request_uri; 
}

server {
    listen  443 ssl;
	server_name  _; 
	#证书文件名称
    ssl_certificate_key /etc/nginx/ssl/xx.key;
    #私钥文件名称 .crt和.pem都可以用
    ssl_certificate /etc/nginx/ssl/xx.pem; 
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;

    root         /usr/local/nginx/html;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    #首页
    location / {
       index index.php index.html index.htm;
       client_max_body_size  50m;
       #limit_rate 100k; 限制下载速度

       include fastcgi_params; 
       #rewrite ^.*$ /index.php$request_uri break;
       #ThinkPhp访问异常可以用下面的代码
       if (!-e $request_filename) {
           rewrite  ^(.*)$  /index.php?s=/$1  last;
           break;
       }
     
       fastcgi_pass 127.0.0.1:9000;
       fastcgi_index index.php;
       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
   }
}

*注意:虽然证书存放位置是/usr/local/nginx/ssl,但是配置里面要写/etc/nginx/ssl而不是/usr/local/nginx/ssl,不然启动会报错,因为配置里面的绝对路径,都是在nginx容器里面的地址,和主机里面的目录地址是两个东西,后面启动目录挂载的时候,是可以读到证书的,不用担心。

七、正式启动nginx

docker run --name nginx -p 80:80 -p 443:443 \
-v /usr/local/nginx/html:/usr/share/nginx/html \
-v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf/ \
-v /usr/local/nginx/conf.d:/etc/nginx/conf.d/ \
-v /usr/local/nginx/logs:/var/log/nginx \
-v /usr/local/nginx/ssl:/etc/nginx/ssl \
--privileged=true -d --restart=always nginx
--name nginx //容器名称
-p 80:80 -p 443:443 //将容器的80端口映射到服务器的80端口,将容器的443端口映射到服务器的443端口
-v aa:bb //将主机的aa目录挂载到容器的bb
--privileged=true //使用该参数,container内的root拥有真正的root权限,避免后面操作时提示无权限
--restart=always //能够使我们在重启docker时,自动启动相关容器

八、检查nginx是否成功启动

docker安装nginx并配置ssl证书
up运行中

docker安装nginx并配置ssl证书
访问服务器,提示这个,就是成功启动了

九、访问失败?

#看下nginx日志,有没有报错
docker logs nginx

检查下服务器的80/443端口都打开吗?看下服务器安全组里面开了吗?还有问题可以评论留言文章来源地址https://www.toymoban.com/news/detail-454378.html

到了这里,关于docker安装nginx并配置ssl证书的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【密码学】使用mkcert安装CA、自签名ssl证书,配置nginx的https 证书笔记

    CA(Certificate Authority,证书授权)是由认证机构服务者签发,是数字签名的技术基础保障,也是网上实体身份的证明,能够证明某一实体的身份及其公钥的合法性,证明该实体与公钥二者之间的匹配关系。 在电子商务系统中,所有实体的证书都是由证书授权中心即CA中心颁发并签

    2024年02月03日
    浏览(56)
  • Docker安装emqx详解(配置SSL证书、开启WSS、鉴权)

    EMQX 是一款大规模可弹性伸缩的云原生分布式物联网 MQTT 消息服务器。 1 端口介绍 1883:MQTT 协议端口 8084:MQTT/SSL 端口 8083:MQTT/WebSocket 端口 8080:HTTP API 端口 18083:Dashboard 管理控制台端口 2 拉取镜像 3 启动临时容器 其他小知识 选项 选项简写 说明 –detach -d 在后台运行容器,

    2023年04月16日
    浏览(44)
  • docker安装nginx并配置SSL

    1、拉取镜像 2、启动nginx容器,复制一份默认配置文件出来 创建成功后会看到nginx的欢迎页面 3、挂载nginx目录 4、重新创建nginx容器并挂载配置目录 如果 STATUS 为 UP 则表示启动成功 5、查看挂载是否成功 6、在宿主机创建ssl目录 进入容器查看挂载文件是否同步到容器内 进入容

    2024年02月11日
    浏览(40)
  • 【Nginx】【SSL】Nginx上配置ssl证书

    配置需要有自己的域名和云主机;域名已经解析到主机;安装好Nginx 阿里云搜索 ssl 找到 数字证书管理服务/SSL 证书免费证书;申请一个免费的 选择其他类型,图中的Nginx的不行;将其放到服务器的 /opt/ssl/sslOther/ 目录下 使用Vim编辑在 /etc/nginx 目录下的 nginx.conf 文件 1、解除掉

    2024年02月03日
    浏览(47)
  • Nginx -- -- 配置SSL证书

    目录 一,阿里云申请免费SSL证书 一,打开阿里云SSL证书页面,点击“选购SSL证书” 2,登录到阿里云SSL证书管理控制台 3,、选择“SSL证书”–“免费证书”–“证书申请” 4,、填写证书申请表单  二,nginx添加ssl证书 1,关闭防火墙核心防护  2,创建一个存放证书的文件放到

    2024年02月21日
    浏览(45)
  • Nginx配置SSL证书

    目录 获得证书 步骤一:购买证书  步骤二:申请证书 ​编辑  下载证书及证书转换:​编辑 配置SSL证书 在Nginx目录下新建certificate目录,并将下载好的证书/私钥等文件上传至该目录(与配置文件同级目录)。  最后修改一下nginx.conf文件即可,如下:  修改完成后保存配置

    2024年02月07日
    浏览(49)
  • nginx ssl证书配置

    linux服务器nginx配置ssl证书。 需要申请域名,然后域名解析到你的外网服务器ip,然后申请ssl证书,然后下载下来,一般ssl证书可以通过 tomcat nginx等配置; 更新yum gcc安装 其他安装 找个位置下载nginx 例如: /usr/local/src 当前位置解压 创建用户组 用户 进入解压后的目录 编译nginx并加入

    2024年04月10日
    浏览(39)
  • Nginx 的SSL证书配置

    目录 1.申请域名,证书下载 2.准备站点源代码 3.修改nginx 对应网站的配置文件 4.修改 host 文件 http协议访问的网站默认会显示不安全,因为数据默认是明文传输的 https是http+ssl,ssl是加密协议,通过证书来进行加密的,安装了证书的网站才会用https协议来交 互,才不会提示不安

    2024年02月02日
    浏览(46)
  • nginx 配置ssl证书方法

    到域名商哪里,申请免费ssl证书,选择nginx版本的sll证书下载到本地,在服务器中进入我们的nginx目录,新建一个ssl文件夹,把下载好的ssl证书解压放到里面。 到nginx目录下打开nginx.conf,修改下方,代码到文本中保存即可。 保存后重启nginx: nginx -s reload 在 http 块中,定义了两

    2024年02月06日
    浏览(37)
  • openssl生成证书和nginx配置ssl证书

    一般情况下,使用ssl证书需要三个操作步骤:1.生成密钥对;2.生成证书请求文件;3.生成证书文件。从单纯的开发者角度来说,可以使用开源的openssl生成密钥和证书,且通过openssl的req命令,可以一个命令完成上述3个操作。 req命令主要的功能:生成证书请求文件、验证证书请

    2024年02月07日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包