阿里云ECS官网域名映射及Tomcat配置调整,最终使用HTTPS和域名直接访问
在另一篇文章中,已经讲述了怎么在ECS(Ubantu版)上安装docker和Tomcat,并顺利启动和访问,该篇文章重点说明如何调整Tomcat配置,与域名映射一致,并采用HTTPS访问
一、进行ECS服务器域名备案
操作步骤:开通ECS服务器后,进入备案管理,先申请备案服务号,再到ICP备案中,按要求填写有关信息,并填写要备案的域名,例如:www.xxxx.net.cn
如下图所示:
后续会按阶段提交和验证一些信息,如手机核实法人及网站负责人,上传备案委托书、备案幕布拍照等,初审通过后,提交到信管局后,需要等17天左右
二、修改Tomcat的配置信息
进入tomcat容器
docker exec -it 容器名字或者id /bin/bash
如下图所示,先使用 docker ps 查看容器名字、ID,然后使用上述命令
输入vim命令,显示该命令未找到,先安装
命令行: sudo apt-get install vim,如下图所示,先安装,再重新进入Tomcat容器
重新进入还是不行,网上搜索了下,对镜像有了更深入的理解,镜像就是一个静态的安装包,而容器才是动态的可用服务,如果我们使用vim在容器中修改文件,镜像并没有改变,如果再次启动容器,又是按之前的镜像启动,原来修改就又恢复了,这种办法不是解决问题的根本办法,那么参照挂载的方式,只有把容器中的镜像配置文件,复制到Ubantu的文件夹中,然后进行修改,修改完成后,再进行配置文件挂载,则可以从根本上解决问题,以下是具体的操作步骤:
1、使用cp的命令,进行配置文件复制:
命令行:docker ps 查看当前的容器,获取 {容器ID},放置到下一个命令行中替换 {容器ID}
命令行:docker cp {容器ID}:/user/local/tomcat/conf /opt/software/tomcat-conf
两个部分说明:
/user/local/tomcat/conf 为Tomcat容器的Tomcat镜像的位置
/opt/software/tomcat-conf 为新建立存放Tomcat配置文件的位置
以上两端路径,中间使用空行隔开
2、然后使用FileZilla 连接ECS的Ubantu服务器,可以看到在对应路径下,已经有复制过来的配置文件
此处主要对server.xml进行修改,故把server.xml复制到本地,然后进行修改
3、server.xml的修改内容包括三个部分:
(1)8080端口设置为80端口,直接映射80端口,为了省略浏览器访问时候输入端口号:8080
(2)把webapps下的hostname改为备案的域名:www.xxxx.net.cn,并把context指向webapps下的项目,我们此处用的是website
为增加的一行,其他的均为直接在原文件位置做修改
(3)配置HTTPS访问
在上述修改基础上,再把8443改为443,同时增加配置,非80端口的也跳转至443
4、配置SSL证书,开启https访问
找到
  Â
    Â
     CLIENT-CERT
     Client Cert Users-only Area
  Â
  Â
    Â
SSL
/*
CONFIDENTIAL
6、待以上server.xml和web.xml配置调整完成后,把server.xml、web.xml、pfx证书等三个文件,使用FileZilla传输到/opt/software/tomcat-conf 文件夹中替换当前文件,如下图所示:
7、把/opt/software/tomcat-conf 和 /user/local/tomcat/conf 进行挂载,并启动Tomcat
docker run -d -v /opt/software/tomcat-conf:/usr/local/tomcat/conf -p 80:80 docker.io/tomcat
docker run -d -p 443:443 docker.io/tomcat
8、重新启动容器,使用浏览器访问验证
当前备案正常进行中,进行上述配置后,域名映射和解析均为完成成功,只能等备案结果
三、iptables开放端口
1、# 检查并安装
检查
sudo whereis iptables
安装
sudo apt-get install iptables
查看防火墙配置
/sbin/iptables -L -n
2、新建规则文件
新建目录和文件
mkdir /etc/iptables & vi /etc/iptables/rules.conf
加入内容并保存:
*filter
默认INPUT 的策略是DROP 即拒绝所有的外来请求
:INPUT DROP [0:0]
一般情况下用不到FORWARD 可以配置为默认DROP
:FORWARD DROP [0:0]
本机对其他机器访问设置为默认ACCEPT
:OUTPUT ACCEPT [0:0]
允许已经建立和相关的连接
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
允许icmp协议(即ping)
-A INPUT -p icmp -j ACCEPT
允许回环请求
-A INPUT -i lo -j ACCEPT
开放端口22 80(如果要开放其他端口 继续添加开放规则即可)
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
COMMIT
按ESC键退出输入状态,SHIFT+冒号,弹出提示,输入 wq,退出并保存
3、使防火墙生效:
iptables-restore < /etc/iptables/rules.conf
4、创建文件,添加以下内容,使防火墙开机启动
vi /etc/network/if-pre-up.d/iptables
!/bin/bash
iptables-restore < /etc/iptables/rules.conf
4、添加执行权限:
chmod +x /etc/network/if-pre-up.d/iptables
5、查看规则是否生效:
iptables -L -n
6、在关闭容器后,出现如下问题:
按上图所示,出现错误信息为:
Error response from daemon: driver failed programming external connectivity on endpoint zealous_volhard (e4ebc07db12c56abfa13505e1bbd3b5462102b0864cd0a8f1b26a0a0361cd9b8): (iptables failed: iptables --wait -t filter -A DOCKER ! -i docker0 -o docker0 -p tcp -d 172.17.0.2 --dport 80 -j ACCEPT: iptables: No chain/target/match by that name.
(exit status 1))
该问题的解决办法为:重启docker服务,即可OK,如上图在错误信息下的操作
待备案成功后,在进行后续操作

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
mac电脑上docker中安装postgresql
前言: docker真是一个好东西,是码农开发调试的神器,以前还要自己配置开发、测试环境,安装过程繁琐,容易出错,耗时很多,用docker基本能够在5分钟搞定,而且一次配置,每个环境都能够无差别部署,省时省力。 最近公司的项目基本设计要求数据库每张表的每行记录的大小需要突破65535字节,经过研究,mysql(mysql限制每个表的最多存储4096列,并且每一行数据的大小不能超过65535字节)被pass 掉,选用postgresql,完美满足这个技术需求。 现在将在mac电脑上使用docker安装postgresql详细的每一步记录下来: 1.mac上docker环境安装: (1)macOS 我们可以使用 Homebrew 来安装 Docker。Homebrew 的 Cask 已经支持 Docker for Mac,因此可以很方便的使用 Homebrew Cask 来进行安装: brew cask install docker (2)如果需要手动下载,请点击以下链接下载 Stable 或 Edge 版本的 Docker for Mac。 Stable版本下载地址:https://do...
- 下一篇
在阿里云ECS上安装Docker、Tomcat并部署官网(无后端交互)
在阿里云上的ECS服务器配置ECS 1核1G,1M带宽Ubantu 16DockerTomcat 9有公网IP,配置安全策略,没有购买RDS,购买完成后,即设置了账号、密码,远程连接工具用的是putty,文件传输工具用的是FileZilla,官网用的是Bootstrap,VScode,并安装了browser插件以下是具体操作步骤,及遇到的问题和解决方式:(Ubantu和Centos大家注意区分,别搞混了)1.首先打开终端窗口输入命令,更新包信息:sudo apt-get update2.安装CA证书,支持Https:sudo apt-get install sudo apt-get install apt-transport-httpssudo apt-get install ca-certificates sudo apt-get install curl sudo apt-get install software-properties-common3.添加一个官方的GPG密钥:curl -fsSL https://download.docker.com/linux/ubuntu/g...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS6,CentOS7官方镜像安装Oracle11G
- Mario游戏-低调大师作品
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7