http - 在 HAProxy 上重定向

标签 http redirect centos haproxy

我正在尝试在 HAProxy 中复制在 apache 中进行的以下配置,但到目前为止没有成功。

<VirtualHost *:80>
    ProxyPreserveHost On
    ServerName alpha.app.int
    ProxyPass / http://127.0.0.1:8080/app/
    ProxyPassReverse / http://127.0.0.1:8080/app/
</VirtualHost>

我要做的是当访问地址“alpha.app.int”时,HAProxy 会自动将所有请求定向到 JBoss 中正在监听“127.0.0.1:8080/app/”的我的应用程序,但是当我尝试通过前面提到的 url 访问我最终落在了 JBoss 的配置屏幕上,而不是在我的应用程序中,我只能通过访问 'alpha.app.int/app/' 看到它。有人对如何做到这一点有任何建议吗?

HAProxy 设置:
frontend app
    bind *:80
    mode http
    default_backend frontend app

backend app
    mode http
    option forwardfor
    server alpha 127.0.0.1:8080/app

最佳答案

你可以试试:

frontend app
    bind *:80
    acl path_root path /
    redirect location https://www.example.com/app/ if path_root
    default_backend             app

backend app
    mode http
    option forwardfor
    server alpha 127.0.0.1:8080

关于http - 在 HAProxy 上重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50881858/

相关文章:

.htaccess - .htaccess 中的重定向规则将我带到了错误的地方

angular - 如何在 Angular 7中将%3F解码为 '?'和%3D解码为 '='?

postgresql - 无法使用 PostgreSQL 打开文件错误

mongodb - 我如何在 Centos 6 中安装 php5-dev

java - 如何使用 jax-rs 获取完整的原因短语(或原始响应)?

android - 如何在android中解析没有json对象标题的json数组?

Python 请求 : POST request dropping Authorization header

asp.net - IIS:web.config 重定向到另一个 url,保留地址栏中的原始 URL

python-3.x - Nginx proxy_pass 到 docker 容器不起作用

java - 如何在 HttpServletRequest 中添加一个 http 协议(protocol) header value ?