简体   繁体   中英

Multi-site application gateway path-based routing not sending traffic to Apache on VMs

In Azure Application Gateway (standard tier), I have a couple of multi-site listeners:

listener-one-http (80 with hostname www.staging.example.com ) The basic rule sends traffic to the following listener:

listener-two-https (443 with hostname www.staging.example.com ) This path-based rule sends traffic to VM-01 or VM-02 if path contains "mystore". Apache is configured on both these VMs for different sites.

Path-based rules are:

Name: www.staging.example.com-https-rule
Listener: listener-two-https
Backend pool: VM-01-Pool
Default HTTP settings: HTTPS-Backend

Name, Paths, Backend pool, HTTP setting
store, /mystore/*, VM-02-Pool, HTTPS-Backend
all, /*, VM-01-Pool, HTTPS-Backend

The basic rule is being enforced (http to https) but the path-based rule set appears to be ignored. In my browser, I enter http://www.staging.example.com and this results in https://www.staging.example.com (good) but then I get the following message (bad):

You don't have permission to access / on this server.

Is there a way to trace what's happening between the application gateway and Apache without checking on the VMs?

If you add a /* rule, it breaks.

Tutorial: Create an application gateway with path-based routing rules using the Azure portal

Note

You do not need to add a custom /* path rule to handle default cases. This is automatically handled by the default backend pool.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM