在另一篇文章中,已经讲述了怎么在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

<Context docBase="website" path=""  reloadable="true" > </Context>   

为增加的一行,其他的均为直接在原文件位置做修改

(3)配置HTTPS访问

在上述修改基础上,再把8443改为443,同时增加配置,非80端口的也跳转至443

4、配置SSL证书,开启https访问

 找到<!-- Define a SSL/TLS HTTP/1.1 Connector on port 8443 的位置,把下方的8443 注释拿掉,端口号改为443,证书的文件及类型,按阿里云ECS官网进行配置,如下图所示:

5、开启http强转https

在/conf/web.xml中,下图所示位置,添加强制跳转配置

配置内容:

<!--开启http强制跳转https访问-->
      <login-config>
          <!-- Authorization setting for SSL -->
          <auth-method>CLIENT-CERT</auth-method>
          <realm-name>Client Cert Users-only Area</realm-name>
      </login-config>
      <security-constraint>
          <!-- Authorization setting for SSL -->
          <web-resource-collection>
          <web-resource-name>SSL</web-resource-name>
          <url-pattern>/*</url-pattern>
          </web-resource-collection>
          <user-data-constraint>
          <transport-guarantee>CONFIDENTIAL</transport-guarantee>
          </user-data-constraint>
      </security-constraint>

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,如上图在错误信息下的操作

待备案成功后,在进行后续操作

阿里云ECS官网域名映射及Tomcat配置调整,最终使用HTTPS和域名直接访问相关推荐

  1. 阿里云企业官网建站标准版、高级版和尊贵版功能区别选择攻略

    阿里云建站云·企业官网标准版.高级版和尊贵版有什么区别?不同版本在会员管理.电商及支付.绑定域名.banner及页面制作等方面有区别:续费价格方面标准版续费980元/年.高级版续费1980元/年.尊贵 ...

  2. 阿里云ECS(centos)中安装Tomcat

    在阿里云ECS(centos)中安装Tomcat(笔记

  3. 阿里云ECS每天一件事D1:配置SSH

    近期因为项目需求,采购了两台阿里云ECS,选择的系统为CentOS 6.3 X64 安全加固版,额外买了160G的硬盘,应该够应付此项目的需求了. ECS默认已经配置好了sshd服务,可以使用root ...

  4. 阿里云盘官网登陆入口

    阿里云盘 - 你的数字世界·阿里巴巴集团出品 (aliyundrive.com) 人都麻了每次网页登录都百度或者必应不到.

  5. 阿里云建站云企业官网标准版、高级版和尊贵版区别对比表

    阿里云建站云·企业官网标准版.高级版和尊贵版有什么区别?新手站长网分享阿里云建站定制云企业官网版本功能区别亮点及选择方法: 云企业官网标准版/高级版/尊贵版对比 阿里云建站云·企业官网定制分为标准版. ...

  6. 阿里云云.速成美站和云.企业官网建站介绍

    阿里云速成美站又称为阿里云模板建站,阿里云自助建站,阿里云企业官网定制,云.企业官网,云.速成美站等多个名字.其实都是阿里云自营的建站业务,虽然有多个名字,但实际上都是指的同一个产品,只是价格不同而已 ...

  7. 阿里云ecs从内网连接不上云mysql

    阿里云ecs内网连接不上mysql内网地址 白名单和防火墙都设置了,vpc也是同一个vpc 后来检查发现,是mysql的内网地址网段和docker的默认网段冲突了,改一下docker的默认网段就好了 ...

  8. 阿里云ECS服务器搭建wordpress个人博客网站【详细图文教程】

    阿里云ECS服务器搭建wordpress个人博客网站[小白专用的图文教程] 在阿里云上搭建使用个人博客主要分为以下几个步骤: 1.购买阿里云ECS主机 2.购买域名 3.申请备案 4.环境配置 5.安 ...

  9. 如何选择阿里云ECS服务器?

    阿里云是国内第一大云服务器厂商,所以往往我会推荐公司客户优先选择阿里云.毕竟稳定,技术可靠和安全是第一优先考虑的因素.现在来详细介绍下阿里云服务器的选购图文操作步骤. 一.选购阿里云的三种方式 根据站 ...

最新文章

  1. Spring《二》 Bean的生命周期
  2. Java程序编译和运行的过程
  3. 2013年5月7日---JS中的正则
  4. Oracle零碎要点---多表联合查询,收集数据库基本资料
  5. 职工工作量c语言调试分析,c语言职工工作量统计
  6. stm32 外部8M晶振 改为12M的方法
  7. 跑通LSD-SLAM
  8. jQuery点击行选中或者取消CheckBox
  9. Java的第20年:Java和我的故事
  10. 【Python】国内生产总值分析预测
  11. 水晶高跟鞋(测试版)
  12. DM数据库安装、踩雷、解决办法
  13. Redmi K20 安卓9跨版本刷第三方ROM
  14. 编程语言中的反射机制
  15. NLP面试宝典:38个最常见NLP问题答案一文get
  16. 杭州市拥北发展是否是最优解,拥江发展处于何种地位
  17. 【解决方案】雪亮工程:视频智能分析/人脸识别/车牌识别EasyCVR如何实现省市县安防共享?
  18. 2021年求职秘籍丨如何在 IT 部门找到工作?4个步骤必不可少
  19. 滑动门+下滑加载更多详细图解
  20. 远程通讯控制器(T-BOX)

热门文章

  1. (王道408考研操作系统)第三章内存管理-第一节7:非连续分配管理方式之基本分段管理方式
  2. numpy的常用函数 不断更新
  3. Python中super的用法
  4. LeetCode 126 单词接龙 II
  5. html基本语法(实例)
  6. S3C2440 偷学
  7. 第三章 JVM内存回收区域+对象存活的判断+引用类型+垃圾回收线程
  8. GNU make manual 翻译(三十一)
  9. Django最佳实践:项目布局
  10. ASP.NET数据绑定的记忆碎片