如何使用 Apache 为 Wildly 项目实现代理?

How to implement proxy for a Wildly project with Apache?

我已经使用 JSF 实现了一个 JavaEE 项目并部署到我的本地 Wildly 服务器中。现在我完全没问题,我可以通过键入 http://localhost:8080/gestionale/ 使用任何浏览器访问它。现在我想将项目移动到 Linux 机器中的云端。这个想法是用 SSL/TLS 和 Let's Encrypt 来设置 Apache 以加密所有数据,但我不知道如何在 Apache 服务器配置中实现它。这行得通吗?

    <IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerName mydomain.com
    ServerAlias www.mydomain.com 
ProxyPass                   /       http://127.0.0.1:8080/gestionale/ 
ProxyPassReverse            /       http://127.0.0.1:8080/gestionale/  

    Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile fullchain.pem
SSLCertificateKeyFile privkey.pem
<IfModule mod_headers.c>
      Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
    </IfModule>

</VirtualHost>
</IfModule>

想法是直接使用 mydomain.com 访问 JSF 项目:这可能吗?所有交换的数据 TLS/SSL 是否安全?

从未加密开始,让您的生活更轻松。基本配置为:

<VirtualHost *:80>
    ServerName www.mydomain.tld

    ProxyPreserveHost on
    ProxyPass / http://127.0.0.1:8080/gestionale/
    ProxyTimeout 360
</VirtualHost>

然后,按照说明安装 Certbot 和 运行。例如,在 Ubuntu 你会 运行:

sudo add-apt-repository ppa:certbot/certbot
sudo apt-get install certbot python-certbot-apache 
sudo certbot --apache

Certbot 将为您更新 Apache SSL 配置。它还会询问您是否要设置从 HTTP 到 HTTPS 的重定向(通常是个好主意)。

确保您的域名在 DNS 中正确解析,否则您将无法正确 运行 certbot。这就是 HTTP 的优势,首先只是为了验证所有设置是否正确。