1.安装nginx

docker pull nginx

2.启动容器(注意80跟443,自己注意下自己的服务器 80.443端口有没有打开)

docker run --name nginx -d -p 80:80 -p 443:443 nginx

3.测试

浏览器 ip

4.进入容器

docker exec -it nginx /bin/bash

5.在etc/nginx下创建一个目录 cert

cd erc/nginx
mkdir cert

6.把证书放到cert目录下

docker cp  xianbao.pem  nginx:/etc/nginx/cert/xianbao.pem
docker cp  xianbao.key  nginx:/etc/nginx/cert/xianbao.key

7.把容器的nginx.conf文件拉出来修改

docker cp   nginx:/etc/nginx/nginx.conf nginx.conf

查询已经部署的tomcat的内网ip地址(再配置文件中)

docker inspect mytomcat1|grep "IPAddress"

8.修改nginx.conf

user  nginx;
worker_processes  1;error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;events {worker_connections  1024;
}http {include       /etc/nginx/mime.types;default_type  application/octet-stream;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;sendfile        on;#tcp_nopush     on;keepalive_timeout  65;#开启压缩,提高网站的访问销量gzip on;gzip_min_length 1k;gzip_buffers 4 16k;#gzip_http_version 1.0;gzip_comp_level 2;gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;gzip_vary off;gzip_disable "MSIE [1-6]\.";#include /etc/nginx/conf.d/*.conf;upstream tomcat_client {server 172.17.0.6:8080;#修改为自己tomcat的内网ip端口} server {server_name www.xianbaovip.com;  #域名listen 80 default_server;listen [::]:80 default_server ipv6only=on;location / {proxy_pass http://tomcat_client;proxy_redirect default;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}}server {listen 443;server_name www.xianbaovip.com;  #域名ssl on;root html;index index.html index.htm;ssl_certificate   /etc/nginx/cert/xianbao.pem; #修改为自己证书的路径ssl_certificate_key  /etc/nginx/cert/xianbao.key;#修改为自己证书的路径ssl_session_timeout 5m;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;location / {proxy_pass http://tomcat_client;proxy_redirect default;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}}
}

9.nginx.conf覆盖到容器中

docker cp nginx.conf  nginx:/etc/nginx/nginx.conf

10.重启nginx

docker restart nginx

修改tocmat的server.xml(自行修改)

 <Connector connectionTimeout="20000" port="8080"  executor="tomcatThreadPool"  acceptCount="600"  protocol="org.apache.coyote.http11.Http11AprProtocol"redirectPort="8443" scheme="https"proxyPort="443"/>

主要是:proxyPort="443"这句要加上,然后重启tomcat 然后就配置好了

番外 让nginx80端口强制跳转443(把server listen端口替换成这端)

 server {listen 80;server_name  www.xianbaovip.com;#域名#告诉浏览器有效期内只准用 https 访问add_header Strict-Transport-Security max-age=15768000;#永久重定向到 https 站点return 301 https://www.xianbaovip.com$request_uri;#域名}

Docker nginx部署阿里https(最新的方案)相关推荐

  1. 【Vue】Docker + Nginx 部署 Vue3.0 项目

    Docker + Nginx 部署 Vue3.0 项目 1.用指令 npm run build 打包vue.js项目(该项目是在WebStorm里面新建的Vue空项目). 打包成功后,会生成一个目录d ...

  2. Docker+Nginx部署Angular国际化i18n

    Docker+Nginx部署Angular国际化i18n 在Angular项目中添加default.conf文件 default.conf 为了支持局域网,增加一个域名,即本地的局域网ip地址. se ...

  3. Docker+Nginx部署Angular

    Docker+Nginx部署Angular 在部署Angular生产环境之前,需要电脑已经安装docker. 添加Dockerfile 在已经完成的Angular项目的项目根目录下添加Dockerfi ...

  4. docker nginx部署前端项目

    最近一直在搞前后端分类,一直在想前端的html页面应该用什么部署 想来想去,如果用tomcat好像有点浪费资源,作为程序员自然要时时刻刻追求新的东西 一直以来都是在apache tomcat上面运行, ...

  5. docker nginx部署web应用_docker部署Nginx

    1.拉取Nginx进行 docker pull nginx:latest拉取完成查看:docker images 2.准备工作 先在主机创建工作文件夹,为了挂载配置和静态文件的访问使用 #启动一个容器 ...

  6. 尝试 Docker + Nginx 部署单页应用

    开发到部署,亲力亲为 当我们开发一个单页面应用时,执行完构建后 npm run build 会生成一个 index.html 在 dist 目录,那怎么把这个 index.html 部署到服务器上呢? ...

  7. 使用pm2+nginx部署koa2(https)

    `` 今天先来写一下关于 koa2 网站运行部署以及 https 配置. 目前网站的大致结构是: koa2 的应用跑在 1113 端口,然后 nginx 反向代理到 443 (https) 端口, 同 ...

  8. docker nginx部署web应用_实战docker,编写Dockerfile定制tomcat镜像,实现web应用在线部署...

    最初在tomcat上部署web应用的方式,是通过maven的maven-compiler-plugin插件先打成war包,再将war包复制到tomcat的webapps目录下,后来用上了tomcat7 ...

  9. docker nginx部署.net core后端站点和angular前端站点

    首先声明,服务器是linux 版本是ubuntu server 18.04,不是windows server.windows server 2016放弃治疗了,2019可能会有改善,不过云厂商的公共镜 ...

最新文章

  1. 应用程序进程(二):启动线程池
  2. Python中的 // 与 / 的区别
  3. 一位老工程师的忠告,切记!
  4. Python开发环境Linux配置
  5. idea拉出Output窗口和还原窗口
  6. 单反基础知识:光圈和快门
  7. “1+7+N”改革工作体系介绍
  8. (Java实现) 洛谷 P1200 你的飞碟在这儿
  9. java字符串转日期_在java中如何将一个字符串转换为日期?
  10. Swift学习笔记(4)使用UIImagePickerController实现从设备图片库和照相机获取图片
  11. Blockathon2018(上海)顺利结束,9个项目打开区块链落地新思路
  12. 工业物联网体系架构概述及基于工业物联网的智能制造
  13. iOS开发——网络连接判断
  14. java 延时发送邮件_基于SpringBoot实现定时发送邮件过程解析
  15. 小软件大用途!分享4款超级实用的软件,请低调收藏
  16. 百度地图官方的定位和方法
  17. 阿里研发工程师JAVA暑期实习一面
  18. 泰坦尼克号生存预测 数据分析+挖掘建模
  19. 快充充电器5V-9V升压给12.6V三节串联锂电池充电芯片的方案板
  20. 第5回 二弟呀,面子工程很重要

热门文章

  1. 每日程序C语言42-带头结点的尾插法创建链表
  2. 云鲸扫拖一体机器人说明书_比老公更好用的扫拖一体机—自动洗拖布的云鲸扫拖机器人使用体验...
  3. python工作环境_CentOS7下python工作环境管理
  4. python批量处理txt_浅谈Python批处理文件夹中的txt文件
  5. docker -v 覆盖了容器中的文件_springboot配合maven打成可执行jar,构建镜像部署到docker容器中...
  6. 无风扇网站服务器,这款服务器采用无风扇设计
  7. 杂项-Java:JSP
  8. 试着理解cookie和session
  9. osgEarth使用没有DX的Triton库Triton-MT-DLL-NODX.lib
  10. js随机生成4位验证码