rot*_*anj 7 nginx redirect haproxy
我正在尝试设置一个测试 haproxy 服务器,它将涵盖 2 个基本领域。如果用户使用 http 但仅当特定 uri 部分不存在时自动重定向到 https。
例如,如果用户访问http://www.test.com,他们将被重定向到https://www.test.com。但是如果用户访问https://www.test.com/blog或http://www.test.com/blog ,他们将被重定向到http://www.test.com/blog。
这是我当前的测试 haproxy.cfg。我正在运行 haproxy 1.5-dev17
非常感谢您对此的任何帮助。
global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
maxconn 15000
user haproxy
group haproxy
defaults
log global
mode http
option httplog
option dontlognull
option abortonclose
option http-server-close
option redispatch
retries 3
timeout queue 600s
timeout connect 9s
timeout client 60s
timeout server 60s
balance roundrobin
# Set up application listeners here.
frontend incoming
bind *:80 name http
acl has_blog_uri path /blog /blog/
redirect scheme https if !has_blog_uri !{ ssl_fc }
bind *:443 ssl crt /etc/haproxy/test.pem
use_backend blog_app if has_blog_uri
default_backend rails_app
backend rails_app
option httpchk GET /app_health
# server app1 10.1.1.1:8080 weight 1 check
server app2 10.1.1.2:8080 weight 1 check
backend blog_app
option httpchk GET /blog/check.txt
server blog 10.1.1.3:8080 check
Run Code Online (Sandbox Code Playgroud)
让我提出几点建议:
redirect location <absolute_url> if <conditions> path_beg -i /blog以下是我incoming根据这些评论对配置部分的建议修改。这应该重定向http://www.test.com到https://www.test.com将失败当试图以作出https://www.test.com/blog(你可以把一个网页那里给用户的链接建议)。
frontend public
bind *:80
acl has_blog_uri path_beg -i /blog
redirect location https://www.test.com if !has_blog_uri
use_backend blog_app if has_blog_uri
frontend public-ssl
bind *:443 ssl crt /etc/haproxy/test.pem
acl has_blog_uri path_beg -i /blog
use_backend rails_app if !has_blog_uri
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
26924 次 |
| 最近记录: |