Port redirect in URL
Igor Sysoev
igor at sysoev.ru
Thu Apr 21 14:51:24 UTC 2016
On 21 Apr 2016, at 17:41, Jim Ohlstein <jim at ohlste.in> wrote:
> Hello,
>
> On 4/21/16 10:17 AM, Igor Sysoev wrote:
>> On 21 Apr 2016, at 17:14, Igor Sysoev <igor at sysoev.ru> wrote:
>>
>>> On 21 Apr 2016, at 17:09, Jim Ohlstein <jim at ohlste.in> wrote:
>>>
>>>> Hello,
>>>>
>>>> I'm going a bit crazy here and hoping for some help. I've set up a new Mailman installation on FreeBSD. The system is set as follows:
>>>>
>>>> Web <-> nginx SSL termination and reverse proxy <-> nginx + fcgiwrap + Mailman
>>>>
>>>> When I try to access https://lists.mydomain.com or https://lists.mydomain.com/ it redirects me to https://lists.mydomain.com:8000/mailman/listinfo which of course fails.
>>>>
>>>> If I access https://lists.mydomain.com/mailman/listinfo directly or any URL except the main one, it works as expected.
>>>>
>>>> I have tried multiple options including:
>>>>
>>>> port_in_redirect off;
>>>> proxy_bind $host:443;
>>>> proxy_redirect off;
>>>>
>>>> Nothing seems to be working.
>>>> Proxy settings for nginx front end: server
>>>>
>>>> location / {
>>>> proxy_pass http://10.0.250.37:8000;
>>>> proxy_set_header X-Real-IP $remote_addr;
>>>> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
>>>> proxy_set_header X-Forwarded-Proto $scheme;
>>>> proxy_http_version 1.1;
>>>> proxy_set_header Connection "";
>>>> proxy_redirect off;
>>>> proxy_set_header Host $host;
>>>>
>>>> [snip]
>>>> }
>>>>
>>>> Backend server uses fastcgi for Python via fcgiwrap. Any help would be appreciated.
>>>
>>> proxy_redirect on;
>>
>> Sorry, no.
>>
>> proxy_redirect https://lists.mydomain.com:8000/ /;
>>
>>
>
> Same result. I believe I had tried it already. To make certain I wasn't seeing a cached response I checked with curl:
>
> curl -I https://lists.mydomain.com
> HTTP/1.1 301 Moved Permanently
> Server: nginx/1.9.14
> Date: Thu, 21 Apr 2016 14:34:27 GMT
> Content-Type: text/html
> Content-Length: 185
> Connection: keep-alive
> Location: http://lists.mydomain.com:8000/mailman/listinfo
> Strict-Transport-Security: max-age=31536000
>
> So it's actually redirecting to http. I have
>
> fastcgi_param HTTPS on;
> fastcgi_param HTTP_SCHEME https;
>
> set on the backend server so this is puzzling.
Then you need:
-proxy_redirect https://lists.mydomain.com:8000/ /;
+proxy_redirect http://lists.mydomain.com:8000/ /;
The first parameter should be equal to the beginning
of string in Location header. Also you can specify several
proxy_redirect directives.
--
Igor Sysoev
http://nginx.com
More information about the nginx
mailing list