Weird behavior behind a proxy

I’ve got a need to share a functioning rt instance behind a proxy, and for
the most part, everything is working fine.

But after actions taken through the proxy, the resulting URLs are always
pointing to the original host name, not the proxy.

On the proxy, we have the following:

ProxyPass /rt/ http://rt.damascusgrp.com:80/rt/
ProxyPassReverse /rt/ http://rt.damascusgrp.com:80/rt/

Our users can then access the system okay at
https://proxy.damascusgrp.com/rt/. But after they login, they’re directed
to http://rt.damascusgrp.com/rt/. Likewise, after switching back to the
correct URL, after creating or updating a ticket, they are directed to
http://rt.damascusgrp.com/rt/Ticket/Display.html

What have I missed? I’m by no stretch an expert at either RT or Apache
proxy configuration.

Thanks,

Bret Wortman

Hi Bret,

It looks like you are missing a redirect/rewrite configuration on the
proxy to map requests from http to https.
Something like the following would be required on the proxy, obviously
if the client can access the real RT server this won’t work

<VirtualHost *:80>

     ServerName rt.damascusgrp.com
     Redirect permanent / https://rt.damascusgrp.com/

Best Regards

MartinOn 2015-07-14 17:48, Bret Wortman wrote:

I’ve got a need to share a functioning rt instance behind a proxy, and
for the most part, everything is working fine.

But after actions taken through the proxy, the resulting URLs are
always pointing to the original host name, not the proxy.

On the proxy, we have the following:

ProxyPass /rt/ http://rt.damascusgrp.com:80/rt/ [1]
ProxyPassReverse /rt/ http://rt.damascusgrp.com:80/rt/ [1]

Our users can then access the system okay at
https://proxy.damascusgrp.com/rt/ [2]. But after they login, they’re
directed to http://rt.damascusgrp.com/rt/ [3]. Likewise, after
switching back to the correct URL, after creating or updating a
ticket, they are directed to
http://rt.damascusgrp.com/rt/Ticket/Display.html. [4]…

What have I missed? I’m by no stretch an expert at either RT or Apache
proxy configuration.

Thanks,

Bret Wortman

!DSPAM:41,55a53cad136401860415760!

Links:

[1] http://rt.damascusgrp.com:80/rt/
[2] https://proxy.damascusgrp.com/rt/
[3] http://rt.damascusgrp.com/rt/
[4] http://rt.damascusgrp.com/rt/Ticket/Display.html.

Hi Bret,

That should be

      Redirect permanent / https://proxy.damascusgrp.com/

Best Regards

MartinOn 2015-07-14 18:40, Martin Wheldon wrote:

Hi Bret,

It looks like you are missing a redirect/rewrite configuration on the
proxy to map requests from http to https.
Something like the following would be required on the proxy, obviously
if the client can access the real RT server this won’t work

<VirtualHost *:80>

    ServerName rt.damascusgrp.com
    Redirect permanent / https://rt.damascusgrp.com/

Best Regards

Martin

On 2015-07-14 17:48, Bret Wortman wrote:

I’ve got a need to share a functioning rt instance behind a proxy, and
for the most part, everything is working fine.

But after actions taken through the proxy, the resulting URLs are
always pointing to the original host name, not the proxy.

On the proxy, we have the following:

ProxyPass /rt/ http://rt.damascusgrp.com:80/rt/ [1]
ProxyPassReverse /rt/ http://rt.damascusgrp.com:80/rt/ [1]

Our users can then access the system okay at
https://proxy.damascusgrp.com/rt/ [2]. But after they login, they’re
directed to http://rt.damascusgrp.com/rt/ [3]. Likewise, after
switching back to the correct URL, after creating or updating a
ticket, they are directed to
http://rt.damascusgrp.com/rt/Ticket/Display.html. [4]…

What have I missed? I’m by no stretch an expert at either RT or Apache
proxy configuration.

Thanks,

Bret Wortman

Links:

[1] http://rt.damascusgrp.com:80/rt/
[2] https://proxy.damascusgrp.com/rt/
[3] http://rt.damascusgrp.com/rt/
[4] http://rt.damascusgrp.com/rt/Ticket/Display.html.

!DSPAM:41,55a549b5136401427644005!

Just to close the loop on this, here’s what I changed to make it work:

Former:

ProxyPass /rt http://rt.damascusgrp.com:80/rt
http://rt.damascusgrp.com/rt/
ProxyPassReverse /rt http://rt.damascusgrp.com:80/rt
http://rt.damascusgrp.com/rt/

Now:

ProxyPass /rt http://rt.damascusgrp.com:80/rt
http://rt.damascusgrp.com/rt/
<Location /rt>
ProxyPassReverse /rt

This syntax is apparently more robust and has completely solved our
problems with proxying logins, ticket creation, and updates.

Bret WortmanOn Wed, Jul 15, 2015 at 7:14 AM, Bret Wortman bret@thewortmans.org wrote:

I did this (proxy is the box hosting my proxy; rt is the actual rt server,
so i made some changes to your provided code based on what I thought would
be right:

ServerName rt2.damascusgrp.com Redirect permanent / https://rt.damascusgrp.com/

And while this works, the behavior hasn’t changed. I still end up back at
rt.damascusgrp.com after updates, login and creation events.

I also realized I neglected to mention that the reason for the proxying is
that the rt server isn’t visible directly from the network that it’s being
proxied to. So customers there end up with server not found errors whenever
RT ends up pointing them back to rt.damascusgrp.com. No combination of
Redirect or Rewrite rules have solved this for me yet but I’m still
plugging along.

Bret Wortman

On Tue, Jul 14, 2015 at 4:36 PM, Bret Wortman bret@thewortmans.org wrote:

Thanks, Martin. I’ll start there and let you know. Appreciate the help!

On Jul 14, 2015, at 2:31 PM, Martin Wheldon < martin.wheldon@greenhills-it.co.uk> wrote:

Hi Bret,

The first version was just a example/me being lazy and as you correctly
say would impact
your other virtual hosts, the following may do what you want.

    ServerName rt.damascusgrp.com
    Redirect permanent / https://proxy.damascusgrp.com/

Otherwise have a look at apache mod rewrite:

mod_rewrite - Apache HTTP Server Version 2.2

Best Rgards

Martin

On 2015-07-14 19:25, Bret Wortman wrote:

Drat. My proxy is actually proxying for close to a dozen other servers
and services, so I can’t use the stuff to make it work.
I tried bundling it under <Location /rt>, but that just resulted in
nothing being reachable. I should’ve included that in my original
post.
Maybe if I put rt on another port on the proxy, I can capture it in a
VirtualHost that way?
Bret Wortman
On Tue, Jul 14, 2015 at 1:55 PM, Martin Wheldon martin.wheldon@greenhills-it.co.uk wrote:

Hi Bret,
That should be
Redirect permanent / https://proxy.damascusgrp.com/
[1]
Best Regards
Martin
On 2015-07-14 18:40, Martin Wheldon wrote:
Hi Bret,
It looks like you are missing a redirect/rewrite configuration on
the
proxy to map requests from http to https.
Something like the following would be required on the proxy,
obviously
if the client can access the real RT server this won’t work
<VirtualHost *:80>
ServerName rt.damascusgrp.com [2]
Redirect permanent / https://rt.damascusgrp.com/ [3]

Best Regards
Martin
On 2015-07-14 17:48, Bret Wortman wrote:
I’ve got a need to share a functioning rt instance behind a proxy,
and
for the most part, everything is working fine.
But after actions taken through the proxy, the resulting URLs are
always pointing to the original host name, not the proxy.
On the proxy, we have the following:
ProxyPass /rt/ http://rt.damascusgrp.com:80/rt/ [4] [1]
ProxyPassReverse /rt/ http://rt.damascusgrp.com:80/rt/
[4] [1]
Our users can then access the system okay at
https://proxy.damascusgrp.com/rt/ [5] [2]. But after they login,
they’re
directed to http://rt.damascusgrp.com/rt/ [6] [3]. Likewise, after
switching back to the correct URL, after creating or updating a
ticket, they are directed to
http://rt.damascusgrp.com/rt/Ticket/Display.html [7]. [4]…
What have I missed? I’m by no stretch an expert at either RT or
Apache
proxy configuration.
Thanks,
Bret Wortman
Links:

[1] http://rt.damascusgrp.com:80/rt/ [4]
[2] https://proxy.damascusgrp.com/rt/ [5]
[3] http://rt.damascusgrp.com/rt/ [6]
[4] http://rt.damascusgrp.com/rt/Ticket/Display.html [7].
!DSPAM:41,55a55362136401213011490!
Links:


[1] https://proxy.damascusgrp.com/
[2] http://rt.damascusgrp.com
[3] https://rt.damascusgrp.com/
[4] http://rt.damascusgrp.com:80/rt/
[5] https://proxy.damascusgrp.com/rt/
[6] http://rt.damascusgrp.com/rt/
[7] http://rt.damascusgrp.com/rt/Ticket/Display.html