在 CentOS 7 上将 Apache 代理到 Payara

在 CentOS 7 上将 Apache 代理到 Payara

我有一个 apache 实例和一个 payara 服务器,其中有一个部署在“:8080/app-name”上的应用程序。我正在尝试将网站的根目录代理到此端口和应用程序。我的配置如下:

httpd配置文件

<VirtualHost *:80> 
  LoadModule proxy_module modules/mod_proxy.so
  LoadModule proxy_http_module modules/mod_proxy_http.so
  ProxyPreserveHost Off
  ProxyRequests Off
  SSLProxyEngine On
  ServerName example.com
  ServerAlias www.example.com
  ProxyPass / http://localhost:8080/app-name
  ProxyPassReverse / http://localhost:8080/app-name
</VirtualHost> 

问题是,当我尝试前往时,example.com我被重定向到,example.com//并且没有显示任何内容。

任何想法如何解决这一问题 ?

答案1

由于您没有包含任何日志,我只能猜测并给您一些提示。请使用 Apache 错误日志中的详细信息更新您的问题。

# TLS VHost on Port 80? - move to 443.
# Needs
## Listen *:443 https
# as well.
<VirtualHost *:80>
  # Move LoadModule directives away from VHost configs.
  LoadModule proxy_module modules/mod_proxy.so
  LoadModule proxy_http_module modules/mod_proxy_http.so
  ProxyPreserveHost Off
  ProxyRequests Off
  # TLS VHosts need TLS directives too - they're missing
  SSLProxyEngine On 
  ServerName site-name.com
  ServerAlias www.site-name.com
  # Use trailing slashes on downstream host URLs
  ProxyPass / http://localhost:8080/app-name/
  ProxyPassReverse / http://localhost:8080/app-name/
</VirtualHost>

查看文档了解如何正确配置 TLS:https://httpd.apache.org/docs/2.4/en/ssl/ssl_howto.htmlhttps://bettercrypto.org/static/applied-crypto-hardening.pdf

添加权限以允许访问:

<Proxy http://localhost:8080/app-name/>
  Require all granted
</Proxy>

调整 SELinux:

setsebool -P httpd_can_network_relay=1

相关内容