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

简介: 该篇文章重点说明如何调整Tomcat配置,与域名映射一致,并采用HTTPS访问

在另一篇文章中,已经讲述了怎么在ECS(Ubantu版)上安装docker和Tomcat,并顺利启动和访问,该篇文章重点说明如何调整Tomcat配置,与域名映射一致,并采用HTTPS访问
一、进行ECS服务器域名备案
操作步骤:开通ECS服务器后,进入备案管理,先申请备案服务号,再到ICP备案中,按要求填写有关信息,并填写要备案的域名,例如:www.xxxx.net.cn
如下图所示:
image

后续会按阶段提交和验证一些信息,如手机核实法人及网站负责人,上传备案委托书、备案幕布拍照等,初审通过后,提交到信管局后,需要等17天左右
二、修改Tomcat的配置信息
进入tomcat容器
docker exec -it 容器名字或者id /bin/bash
如下图所示,先使用 docker ps 查看容器名字、ID,然后使用上述命令
image

输入vim命令,显示该命令未找到,先安装
命令行: sudo apt-get install vim,如下图所示,先安装,再重新进入Tomcat容器
image

重新进入还是不行,网上搜索了下,对镜像有了更深入的理解,镜像就是一个静态的安装包,而容器才是动态的可用服务,如果我们使用vim在容器中修改文件,镜像并没有改变,如果再次启动容器,又是按之前的镜像启动,原来修改就又恢复了,这种办法不是解决问题的根本办法,那么参照挂载的方式,只有把容器中的镜像配置文件,复制到Ubantu的文件夹中,然后进行修改,修改完成后,再进行配置文件挂载,则可以从根本上解决问题,以下是具体的操作步骤:
1、使用cp的命令,进行配置文件复制:
image

命令行: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服务器,可以看到在对应路径下,已经有复制过来的配置文件
image

此处主要对server.xml进行修改,故把server.xml复制到本地,然后进行修改
3、server.xml的修改内容包括三个部分:
(1)8080端口设置为80端口,直接映射80端口,为了省略浏览器访问时候输入端口号:8080
image

(2)把webapps下的hostname改为备案的域名:www.xxxx.net.cn,并把context指向webapps下的项目,我们此处用的是website
image

   
为增加的一行,其他的均为直接在原文件位置做修改
(3)配置HTTPS访问
image

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

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  文件夹中替换当前文件,如下图所示:
image

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
image

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
image

6、在关闭容器后,出现如下问题:
image

按上图所示,出现错误信息为:
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,如上图在错误信息下的操作
待备案成功后,在进行后续操作

相关文章
|
19天前
|
人工智能 Ubuntu 前端开发
Dify部署全栈指南:AI从Ubuntu配置到HTTPS自动化的10倍秘籍
本文档介绍如何部署Dify后端服务及前端界面,涵盖系统环境要求、依赖安装、代码拉取、环境变量配置、服务启动、数据库管理及常见问题解决方案,适用于开发与生产环境部署。
271 1
|
5月前
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
625 87
|
9月前
|
数据建模 网络安全
阿里云SSL证书不同类型DV、OV和EV如何收费?单域名和通配符SSL价格整理
阿里云SSL证书提供免费和收费版本,涵盖DV、OV、EV多种类型。收费证书品牌包括DigiCert、GlobalSign等,价格从238元/年起。免费SSL证书由Digicert提供,单域名有效3个月,每个实名主体每年可领取20个。具体价格和详情见阿里云SSL官方页面。
|
7月前
|
安全 网络协议 网络安全
只有IP地址没有域名,如何实现HTTPS访问?
在仅有IP地址而无域名的情况下,实现HTTPS访问并非不可能。主要挑战包括证书颁发机构(CA)对IP地址的支持有限及浏览器兼容性问题。解决方案有:1) 搭建私有CA为内部IP地址颁发证书;2) 使用支持IP地址的公共CA服务。选择合适的方案需根据需求权衡。具体步骤包括选择证书类型、生成CSR文件、提交并完成验证、安装SSL证书和配置强制HTTPS访问。确保IP地址稳定,并定期维护安全性。 **申请优惠**:访问JoySSL官网并填写注册码“230907”可优惠申请IP地址证书。
980 5
|
7月前
|
人工智能
2024年阿里云域名热搜词大盘点
2024年阿里云域名热搜词大盘点
275 3
|
9月前
|
数据建模 网络安全
阿里云SSL证书不同类型DV、OV和EV如何收费?单域名和通配符SSL价格整理
阿里云SSL证书提供免费和收费选项。收费证书包括:DV单域名WoSign 238元/年,DigiCert通配符DV 1500元/年,GlobalSign OV企业型1864元/年等。免费SSL证书由Digicert提供,有效期3个月,每年可领取20个单域名证书。更多详情及价格表请参考阿里云官方页面。
|
9月前
|
域名解析 安全 数据建模
没有域名只有IP地址怎么申请https证书?
IP 地址 SSL 证书是一种特殊的 SSL/TLS 证书,允许直接为 IP 地址配置 HTTPS 加密,适用于内部服务、私有网络和无域名的设备管理。与基于域名的证书不同,申请过程较为复杂,需选择支持 IP 的证书颁发机构(CA),并完成额外的身份验证步骤。浏览器对 IP 地址的支持有限,可能会显示警告。通过正确配置服务器(如 Nginx 或 Apache),可以确保通信安全。
|
5月前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
147 18
|
5月前
|
网络安全 开发者
如何解决HTTPS协议在WordPress升级后对网站不兼容的问题
以上就是解决WordPress升级后HTTPS协议对网站的不兼容问题的方法。希望能把这个棘手的问题看成是学校的管理问题一样来应对,将复杂的技术问题变得更加有趣和形象,并寻觅出解决问题的方式。希望你的网站能在新的学期得到更好的发展!
122 19

热门文章

最新文章