家庭宽带在有ipv6公网环境下,配置本地tomcat服务器+域名+ssl+ddns,实现ipv6建站、搭建简易的文件服务器、搭建webdav服务器等功能
必备条件:
宽带运营商提供了ipv6
光猫拨号改为路由器拨号且路由器开启了ipv6
运营商未屏蔽ipv6的80/443端口(如果屏蔽了常用端口,那么可以尝试高一点的端口号。端口号范围:1 - 65535)
目录
一、阿里云申请域名&ssl证书
1、申请域名
2、申请ssl证书
二、配置tomcat服务器
1、下载jdk&tomcat
2、配置jdk&tomcat
3、配置ssl证书
4、开启防火墙端口
5、建站
6、创建简易的文件服务器
7、创建webdav服务器
8、创建ddns实现自动同步域名解析
9、将tomcat添加到系统服务
一、阿里云申请域名&ssl证书
1、申请域名
官网:阿里云企航_万网域名_工商财税_知识产权_资质备案_智能设计_网站建设-阿里云
域名价格:大多数第一年低于10元,续费比较贵。若不在意域名价值,建议每年换新域名。
2、申请ssl证书
官网:证书服务_SSL数字证书_HTTPS加密_服务器证书_CA认证-阿里云
价格:一年之内可申请20个免费的ssl证书,有效期一年。似乎到期后,每年都继续送免费额度。
成功时间:系统自动批准,10分钟之内就能申请成功。成功后,下载ssl证书,类型选择JKS。
二、配置tomcat服务器
1、下载jdk&tomcat
oracle官网下载jdk:Java Downloads | Oracle
选择一个jdk版本,选择windows,且下载zip包。当然你也可以下载一键安装包,那么就可以跳过后面配置环境变量步骤。
我用的版本为jdk17 windows11 zip包。
apache官网下载tomcat:Apache Tomcat® - Apache Tomcat 11 Software Downloads
拉到页面最后,我选择版本是tomcat11 :64-bit Windows zip (pgp, sha512)
2、配置jdk&tomcat
首先,将下载的jdk和tomcat解压并放到固定路径,我放置的路径为:
C:\Software\jdk-17_windows-x64_bin\jdk-17.0.6
C:\Software\apache-tomcat-11.0.0-M4-windows-x64\apache-tomcat-11.0.0-M4
Windows11可以直接win+s键搜索:环境变量。windows10我记得没错的话应该是在 右击桌面图标"此电脑" - 属性 -环境变量
系统变量 - 新建 4个变量
①变量名:JAVA_HOME
变量值:C:\Software\jdk-17_windows-x64_bin\jdk-17.0.6
注:C:\Software\jdk-17_windows-x64_bin\jdk-17.0.6 路径下的必须有bin文件夹,否则路径不对
②变量名:TOMCAT_HOME
变量值:C:\Software\apache-tomcat-11.0.0-M4-windows-x64\apache-tomcat-11.0.0-M4
③变量名:CATALINA_HOME
变量值:C:\Software\apache-tomcat-11.0.0-M4-windows-x64\apache-tomcat-11.0.0-M4
④变量名:CATALINA_BASE
变量值:C:\Software\apache-tomcat-11.0.0-M4-windows-x64\apache-tomcat-11.0.0-M4
同理 apache-tomcat-11.0.0-M4 下必须有bin文件夹,否则路径不对
找到 系统变量 下的path,双击打开后,添加:
%JAVA_HOME%\bin
%TOMCAT_HOME%\bin
%CATALINA_BASE%\bin
%CATALINA_HOME%\bin
尝试开启tomcat:
在C:\Software\apache-tomcat-11.0.0-M4-windows-x64\apache-tomcat-11.0.0-M4\bin 找到startup.bat,并双击。如果cmd窗口没有闪退,且一直在窗口前,则成功。否则,请检查环境变量配置路径。
在浏览器输入http://127.0.01:8080,出现tomcat首页,则成功。
3、配置ssl证书
将申请的ssl证书放在tomcat目录中的conf文件夹下
打开该conf目录下的server.xml,找到Connector标签,
将port端口改为80
在redirectPort前添加
address="www.abc.com"
在Connector标签后面添加
保存重启tomcat。
4、开启防火墙端口
控制面板 - 系统和安全 - Windows Defender防火墙 - 高级设置 -入站规则 - 新建规则
自定义 - (下一步) - 所有程序 - (下一步) - 协议类型:TCP;本地端口:80 - (一直点到最后) - 起个名然后确认
同方法,新建80,443端口的tcp和udp协议。
测试:用手机等除了电脑之外的其他设备访问你的域名,如果成功显示你部署的tomcat首页,则成功。否则排查tomcat日志、windows防火墙、在线扫描端口判断运营商是否屏蔽的80&443端口。
Tips:tomcat日志可能会出现中文乱码,需要修改tomcat文件夹下的conf / logging.properties文件
将java.util.logging.ConsoleHandler.encoding = utf-8 修改为
java.util.logging.ConsoleHandler.encoding = GBK
5、建站
直接部署在tomcat目录下的webapps\ROOT中部署即可,当然也可以创建虚拟路径:
创建虚拟路径:
方法一:
手动修改conf\server.xml映射虚拟路径:
server.xml文件中,在末尾标签前插入
【访问路径】修改为:
/ 或者 留空,表示输入ip或域名访问后,url无需加路径,直接【实际路径】文件夹里的目录
PS:若无
标签 或 标签中的【访问路径】留空,则自动访问webapps/ROOT文件夹里的目录。
/abc ,表示域名后要添加/abc,来访问【实际路径】文件夹里的目录。
【实际路径】修改为:
/,表示访问webapps文件夹里的目录(与ROOT目录并列);
/abc,表示访问webpps/abc文件夹里的目录;
D:/abc,表示访问D盘(可以为非tomcat安装盘)中abc文件夹里的目录。
PS:tomcat不可访问硬盘分区的根目录,如将【实际路径】改为D:/或者D:后,tomcat实际访问不到任何目录
方法二:
实际开发时,tomcat安装目录与多个应用目录应当分开放于不同文件夹/硬盘。
(CATALINA_HOME:服务器安装目录,CATALINA_BASE:一个web应用对应一个catalina_base)
上提到【实际路径】未指定盘符时,默认访问tomcat安装目录webapps里的目录。
实际上可以修改:
server.xml文件中将:
修改为与webapps同级文件夹或者其他硬盘分区中的文件夹。
然后在前添加:(如果没有添加,则访问不到404错误)。
手动添加xml文件,创建虚拟路径。
根据上面补充说明,可以在CATALINA_BASE/conf/[enginename]/[hostname](默认为tomcat/conf/Catalina/localhost)下新建【文件名1】.xml,添加代码:
PS:实际路径处似乎只能填写路径,如果填写路径下的文件,且将url中的文件省略,会报错404
结果:http://域名/【文件名1】,即可访问【实际路径】。
每次修改XML文件都不要忘了重启Tomcat使之生效。
如果修改后,tomcat闪退,则说明修改后的xml文件有问题,请逐一排查。
6、创建简易的文件服务器
找到tomcat - conf- - web.xml
搜索“servlet”,找到
default
org.apache.catalina.servlets.DefaultServlet
debug
0
listings
false
1
将 false 改为true。
在标签下面新增
readonly
true
然后根据上一个标题《建站》创建虚拟路径,重启tomcat后用浏览器加上路径访问tomcat,
如果成功,浏览器则会显示
7、创建webdav服务器
(这是我之前的记录的笔记,我直接粘贴过来了)
第一步、新建一个新项目
①在server.xml文件中复制service整个标签,在service后面粘贴service;
②修改刚刚粘贴的service,包括(service name,端口号,Engine name,appBase);
③复制webapps,并在同目录粘贴改名为webapps02;
④为了让ip能访问项目,在connector中,添加address="[::]";
⑤保险起见,在全局打开目录访问权限(web.xml):
第二步、创建配置文件
在第一步中的webapps02中创建webdav / WEB-INF / web.xml,将下面的代码复制进去。
web.xml
webdav
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
webdav
org.apache.catalina.servlets.WebdavServlet
debug
0
listings
true
readonly
false
webdav
/*
webdav
/*
GET
POST
PROPFIND
PROPPATCH
COPY
MOVE
LOCK
UNLOCK
*
BASIC
webdav
WebDAV User
webdav
PS:也可以将webdev(包含里面的WEB-INF/web.xml)创建到其他硬盘分区,方法:
打开server.xml,在该项目对应的service下,添加
以后直接访域名,即域名后无需再添加 /webdav路径,即可直接访问。
Tips:tomcat似乎有限制,可能是为了安全性,无法直接添加整块分区,只能添分区中的某个子文件夹。
第三步、创建用户
在apache-tomcat\conf\tomcat-users.xml中添加:
测试:可以在安卓手机上下载Solid Explorer文件管理器,新建云连接来检测是否成功。
8、创建ddns实现自动同步域名解析
github开源项目,可以自动同步电脑的ip地址,解析域名到dns服务器。 项目地址:GitHub - jeessy2/ddns-go: 简单好用的DDNS。自动更新域名解析到公网IP(支持阿里云、腾讯云dnspod、Cloudflare、Callback、华为云、百度云、Porkbun、GoDaddy、Google Domain)
大致流程(参考官方使用说明): 首先,将程序添加到服务中,实现自启动。
然后,浏览器输入127.0.0.1:9876进入配置界面,通过绑定域名服务商的key来获得修改域名解析ip的权限。
最后,实现定时自动检测本地计算机ip与域名解析的ip是否符合,并实现修改功能。
Tips: 还可以通过webhook来自定义推送修改解析信息。
9、将tomcat添加到系统服务
将tomcat添加到系统服务可以实现自启、减少windows的cmd窗口,无感启动。
方法:
win + s 搜索cmd并以管理员身份运行,然后cd命令进入tomcat的bin文件夹,执行
安装:service.bat install
启动:net start tomcat11
停止:net stop tomcat11
查询状态:sc query tomcat11
卸载:service.bat remove
Tips:
执行时代码使用tomcat11是因为我安装版本为11。具体可以在安装时,查看cmd打印出执行的tomat的版本信息。
关于自启,查看杀毒管家软件是否禁止了tomcat自启。
以上教程是我自行学习以及在网上查询的教程且亲自部署过,用到的网站/工具有、Github、百度、Google、Chatgpt等。感谢大佬在网上分享的教程,且我也记录与总结自己的流程,作为自己笔记以及给爱捣鼓的朋友作参考。如有问题欢迎指出与提问。如帮到了你,希望能点个赞。