Docker nginx部署阿里https(最新的方案)
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(最新的方案)相关推荐
- 【Vue】Docker + Nginx 部署 Vue3.0 项目
Docker + Nginx 部署 Vue3.0 项目 1.用指令 npm run build 打包vue.js项目(该项目是在WebStorm里面新建的Vue空项目). 打包成功后,会生成一个目录d ...
- Docker+Nginx部署Angular国际化i18n
Docker+Nginx部署Angular国际化i18n 在Angular项目中添加default.conf文件 default.conf 为了支持局域网,增加一个域名,即本地的局域网ip地址. se ...
- Docker+Nginx部署Angular
Docker+Nginx部署Angular 在部署Angular生产环境之前,需要电脑已经安装docker. 添加Dockerfile 在已经完成的Angular项目的项目根目录下添加Dockerfi ...
- docker nginx部署前端项目
最近一直在搞前后端分类,一直在想前端的html页面应该用什么部署 想来想去,如果用tomcat好像有点浪费资源,作为程序员自然要时时刻刻追求新的东西 一直以来都是在apache tomcat上面运行, ...
- docker nginx部署web应用_docker部署Nginx
1.拉取Nginx进行 docker pull nginx:latest拉取完成查看:docker images 2.准备工作 先在主机创建工作文件夹,为了挂载配置和静态文件的访问使用 #启动一个容器 ...
- 尝试 Docker + Nginx 部署单页应用
开发到部署,亲力亲为 当我们开发一个单页面应用时,执行完构建后 npm run build 会生成一个 index.html 在 dist 目录,那怎么把这个 index.html 部署到服务器上呢? ...
- 使用pm2+nginx部署koa2(https)
`` 今天先来写一下关于 koa2 网站运行部署以及 https 配置. 目前网站的大致结构是: koa2 的应用跑在 1113 端口,然后 nginx 反向代理到 443 (https) 端口, 同 ...
- docker nginx部署web应用_实战docker,编写Dockerfile定制tomcat镜像,实现web应用在线部署...
最初在tomcat上部署web应用的方式,是通过maven的maven-compiler-plugin插件先打成war包,再将war包复制到tomcat的webapps目录下,后来用上了tomcat7 ...
- docker nginx部署.net core后端站点和angular前端站点
首先声明,服务器是linux 版本是ubuntu server 18.04,不是windows server.windows server 2016放弃治疗了,2019可能会有改善,不过云厂商的公共镜 ...
最新文章
- 应用程序进程(二):启动线程池
- Python中的 // 与 / 的区别
- 一位老工程师的忠告,切记!
- Python开发环境Linux配置
- idea拉出Output窗口和还原窗口
- 单反基础知识:光圈和快门
- “1+7+N”改革工作体系介绍
- (Java实现) 洛谷 P1200 你的飞碟在这儿
- java字符串转日期_在java中如何将一个字符串转换为日期?
- Swift学习笔记(4)使用UIImagePickerController实现从设备图片库和照相机获取图片
- Blockathon2018(上海)顺利结束,9个项目打开区块链落地新思路
- 工业物联网体系架构概述及基于工业物联网的智能制造
- iOS开发——网络连接判断
- java 延时发送邮件_基于SpringBoot实现定时发送邮件过程解析
- 小软件大用途!分享4款超级实用的软件,请低调收藏
- 百度地图官方的定位和方法
- 阿里研发工程师JAVA暑期实习一面
- 泰坦尼克号生存预测 数据分析+挖掘建模
- 快充充电器5V-9V升压给12.6V三节串联锂电池充电芯片的方案板
- 第5回	二弟呀,面子工程很重要
热门文章
- 每日程序C语言42-带头结点的尾插法创建链表
- 云鲸扫拖一体机器人说明书_比老公更好用的扫拖一体机—自动洗拖布的云鲸扫拖机器人使用体验...
- python工作环境_CentOS7下python工作环境管理
- python批量处理txt_浅谈Python批处理文件夹中的txt文件
- docker -v 覆盖了容器中的文件_springboot配合maven打成可执行jar,构建镜像部署到docker容器中...
- 无风扇网站服务器,这款服务器采用无风扇设计
- 杂项-Java:JSP
- 试着理解cookie和session
- osgEarth使用没有DX的Triton库Triton-MT-DLL-NODX.lib
- js随机生成4位验证码