我主要是一名 Java 开发人员,我向您提出了一个跨越开发人员和系统管理员之间鸿沟的问题。
多年前,当将 Tomcat 作为应用程序服务器运行是一件新鲜事时,习惯上将 Apache 置于前端。据我了解,这样做是因为:
Java 不再被认为是缓慢的,我怀疑将 Apache 添加到组合中是否真的有助于加快速度。
至于端口问题,如今可能有更简单的方法将应用服务器连接到端口 80/443。
所以我的问题是——这些天用 Apache 前端 Java Webapps 真的有什么好处吗?如果是这样,Apache 仍然是要走的路吗?我应该看看 Nginx 吗?如果这很重要,我使用的是 Glassfish 而不是 Tomcat。
如何在内部将端口 80 转发到端口 8080?
我的目标是让 Web 应用程序服务器 (Glassfish) 在端口 8080 上运行,但外部世界可以在端口 80 上正常访问它。这样做是为了让我不必以 root 身份运行 Glassfish。
我尝试将以下规则添加到我的 /etc/sysconfig/iptables:
-A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
Run Code Online (Sandbox Code Playgroud)
但这会导致以下错误:
Applying iptables firewall rules: iptables-restore v1.3.5: Line 21 seems to have a -t table option.
Run Code Online (Sandbox Code Playgroud) 如果我有test.example.com和prod.example.com(两个主机名,但域名相同),我可以在两台机器上使用相同的 SSL 证书吗?
过去,当我尝试prod.example.com在test.example.com其上使用证书时会导致浏览器警告主机不匹配,这让我相信我需要一个通配符(或多个不同的证书)。(也许我的错误是为prod.example.com而不是简单地生成 CSR example.com?)
但是各种 SSL 供应商的网站都提到需要一个用于子域的通配符证书,这根本不是我正在使用的。
他们的语言是错误的吗?(我愤世嫉俗的一面想知道这是否有助于供应商销售更昂贵的证书......)