有人可以帮我理解我是否有1个域名
www.example.com
在端口80上运行lampp,在端口8080上运行tomcat,
我需要1或2个SSL证书吗?
例如商业网站在www.example.com上运行,但实际的网络应用程序在www.example.com:80/Login /
上运行这是否意味着我需要2个单独的SSL EV证书,或者我可以购买1并在apache和tomcat上加载它,因为它是相同的域名?
由于
答案 0 :(得分:0)
首先,您可能没有在端口80和8080上使用SSL运行服务器。端口80是HTTP的默认端口,而端口443是HTTPS的默认端口。
Tomcat倾向于将端口8080用于其HTTP服务,将端口8443用于其HTTPS服务,因为它往往由Unix机箱上的非root用户运行(不能使用1024以下的端口号),也许因为端口80和443往往已被其他服务(例如Apache Httpd)占用。
虽然技术上可以在端口80上运行HTTPS服务,但这不是一个好主意,因为每次都必须在地址中指定端口(如果要运行普通HTTP服务,可能需要端口统一)在那个港口也是)。这会导致不必要的混淆。
HTTPS的主机名验证绑定到主机名,而不是端口号。无论您使用哪个端口都无关紧要。您可以使用Apache Httpd运行https://www.example.com/
(隐式地在端口443上),使用为https://www.example.com:8443/
(至少)发布的相同证书运行Apache Tomcat www.example.com
。您可能必须转换密钥和证书的存储格式(Apache Httpd将使用单独的密钥和证书文件,而Tomcat将使用单个密钥库,例如PKCS#12格式),但这只是转换文件的问题CA颁发证书后,您的结束。
此外,在同一台机器上的Apache Httpd和Tomcat上使用HTTPS是很不寻常的。通常,您在端口443上使用Apache Httpd设置系统以处理SSL连接,并设置反向代理以使Apache Httpd在localhost上以纯HTTP方式将请求分派给Tomcat。这允许在https://www.example.com/
上提供所有内容,而无需指定非默认端口。只需要使用证书配置前端(Apache Httpd)。