Amol,

The second log lines clearly shows that your application server is
redirecting your user :)

Baptiste

On Thu, Mar 6, 2014 at 4:53 AM, Amol <mandm_z...@yahoo.com> wrote:
> so after looking at haproxy logs i noticed 2 things
>
> if i type www.xx.com there is 1 log entry
>
> haproxy[26387]: xx.11.11.118:62704 [05/Mar/2014:22:48:02.264] http-in
> if-https/if1-app 10734/0/0/403/11137 200 10448 - - --VN 20/20/3/1/0 0/0 "GET
> / HTTP/1.1"
>
>
> but when i type xx.com i see 2 log entries, that means a url redirection is
> taking place?
>
> haproxy[26387]: xx.11.11.118:62681 [05/Mar/2014:22:48:50.075] http-in
> if-http/if1-app 15670/0/0/265/15935 301 342 - - --VN 17/17/0/1/0 0/0 "GET /
> HTTP/1.1"
> haproxy[26387]: xx.xx.xx.240:54320 [05/Mar/2014:22:48:51.271] http-in
> if-https/if1-app 14872/0/1/417/15290 200 10448 - - --VN 18/18/1/1/0 0/0 "GET
> / HTTP/1.1"
>
>
>
> some parts of my config file..
>
> frontend http-in
>         bind <public_ip>:80 name http
>         bind <private_ip>:8000 name https # forwared by stunnel
>         acl host_xx hdr(host) -i xx.com
>         use_backend if-http if host_if
>         default_backend if-https
>
> backend if-http
>
>         acl secure dst_port eq 8000
>         acl login_page path_beg  /exzact
>
>         redirect prefix https://xx.com if login_page !secure
>
>
>
>
>
> On Wednesday, March 5, 2014 4:08 PM, Amol <mandm_z...@yahoo.com> wrote:
> Hi Neil,
> I tried something similar, by putting the servername and setting
> UseCanonicalName On...
> but what i observe is that when i access my website with just xx.com in the
> browser, it directs to https://www.xx.com
> but if i start fresh and access my website with www.xx.com and the next
> subsequent requests with xx.com always go to www.xx.com
>
> any clue?
>
> here is the apache default.conf
> <VirtualHost *:80>
>     ServerAdmin webmaster@localhost
>     ServerName  www.xxx.com
>
>     DocumentRoot /var/www
>     <Directory />
>         Options FollowSymLinks
>         AllowOverride All
>     </Directory>
>     <Directory /var/www/>
>         setenv HTTPS on
>         Options FollowSymLinks MultiViews
>         AllowOverride All
>         Order allow,deny
>         allow from all
>     </Directory>
>
>     ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
>     <Directory "/usr/lib/cgi-bin">
>         AllowOverride None
>         Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
>         Order allow,deny
>         Allow from all
>     </Directory>
>
>     ErrorLog /var/log/apache2/error.log
>
>     # Possible values include: debug, info, notice, warn, error, crit,
>     # alert, emerg.
>     LogLevel warn
>     ServerSignature Off
>     UseCanonicalName On
>
>     SetEnvIf Request_URI "^/check\.txt$" dontlog
>     CustomLog /var/log/apache2/access.log combined env=!dontlog
>
>     Alias /doc/ "/usr/share/doc/"
>     <Directory "/usr/share/doc/">
>         Options MultiViews FollowSymLinks
>         AllowOverride None
>         Order deny,allow
>         Deny from all
>         Allow from 127.0.0.0/255.0.0.0 ::1/128
>     </Directory>
>
> </VirtualHost>
>
>
>
>
> On Monday, March 3, 2014 5:16 AM, Neil - HAProxy List
> <maillist-hapr...@iamafreeman.com> wrote:
> Hello Amol
>
> Here is an example of the sort of thing I use
>
> The 3 important things for are
>   ServerName https://servicename.domain.com:443
>   SetEnv HTTPS on
>   UseCanonicalName On
>
>
> <VirtualHost *:8080>
>   ServerName https://servicename.domain.com:443
>
>   ## Vhost docroot
>   DocumentRoot /var/www/
>
>   ## Directories, there should at least be a declaration for /var/www
>
>   <Directory /var/www>
>     Options Indexes ExecCGI
>     AllowOverride None
>     Order allow,deny
>     Allow from all
>   </Directory>
>
>   ## Logging
>   LogLevel warn
>   ServerSignature Off
>
>
>   ## Custom fragment
> ####    This tricks PHP into believing the script was accessed over SSL
>   SetEnv HTTPS on
>
>   DirectoryIndex index.php
>   UseCanonicalName On
>
>   ErrorLog "|/usr/bin/cronolog --link /var/log/apache2/servicename_error.log
> /var/log/apache2/%Y/servicename_error-%Y%m%d.log"
>
>   LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""
> direct
>   LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\"
> \"%{User-Agent}i\"" proxied
>   SetEnvIf Remote_Addr "^" direct # make it always set
>   SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" !direct
>   SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" proxied
>   SetEnvIf Request_URI "^/healthcheck$" !direct
>
>   # keep these SetEnvIf Request_URI "^/healthcheck$" !proxied
>   CustomLog "|/usr/bin/cronolog --link
> /var/log/apache2/servicename_directaccess
> /var/log/apache2/%Y/servicename_directaccess-%Y%m%d.log" direct env=direct
>   CustomLog "|/usr/bin/cronolog --link /var/log/apache2/servicename_access
> /var/log/apache2/%Y/servicename_access-%Y%m%d.log" proxied env=proxied
>
> </VirtualHost>
>
> I like to log traffic from the loadbal separately to traffic from the public
> and I ignore /healthcheck from the loadbal but not from others.  You'll need
> to tell haproxy to "option forwardfor". Also using cronolog.
>
> Neil
>
>
> On 1 March 2014 15:27, Baptiste <bed...@gmail.com> wrote:
>
> Hi
>
> More chance to get an answer from Apache 2.2 and wordpress people...
>
> Baptiste
>
> On Fri, Feb 28, 2014 at 4:12 PM, Amol <mandm_z...@yahoo.com> wrote:
>> well the application behind haproxy in this case is wordpress on
>> apache2.2,
>> any settings there?
>>
>>
>>
>>
>> On Friday, February 28, 2014 4:57 AM, Baptiste <bed...@gmail.com> wrote:
>> It may not fix the issue.
>> But at least the configuration will do what you expect from it...
>>
>> That said, the issue may be in the application too :)
>> It is commonly seen that applications don't behave properly when SSL
>> offloading is enabled in front of them.
>>
>> Baptiste
>>
>>
>> On Thu, Feb 27, 2014 at 4:16 PM, Amol <mandm_z...@yahoo.com> wrote:
>>> Thanks Baptiste, let me give that a try
>>>
>>>
>>>
>>> On Thursday, February 27, 2014 9:37 AM, Baptiste <bed...@gmail.com>
>>> wrote:
>>> Hi Amol,
>>>
>>> There are a few improvement you can do.
>>> First update your frontend acl to:
>>>  acl host_xx hdr(host) -i xx.com
>>>
>>> then in your backend, this ACL should never match: "acl login_page
>>> url_beg  /xyz"
>>> replace url_beg by path_beg.
>>>
>>> Your problem is not there as well.
>>> I think your application server is sending hardcoded data or Location
>>> headers.
>>> analyzing the body of the pages and HAProxy logs may help here.
>>>
>>> Baptiste
>>>
>>>
>>>
>>> On Tue, Feb 25, 2014 at 4:56 PM, Amol <mandm_z...@yahoo.com> wrote:
>>>> Hi i am using HA-Proxy version 1.4.12 and i have an issue trying to
>>>> redirect
>>>> my website to "http"
>>>> requirement : when a user types in http://<website_name>.com he should
>>>> not
>>>> be redirected to https://<website_name>.com
>>>> currently it does that and some of the video links on our main page do
>>>> not
>>>> work (basically vimeo has http links while our page is https so it
>>>> throws
>>>> a
>>>> security exception)
>>>>
>>>> at the same time we need users with http://<website_name>.com/xyz to be
>>>> redirected to https://<website_name>.com/xyz (this helps users login to
>>>> secure application)
>>>>
>>>> so under my current configurations i cannot get the first part to work,
>>>> basically (www.<website_name>.com works and stays http but when i type
>>>> http://<website_name>.com it does a redirection to https)
>>>>
>>>> frontend http-in
>>>>        bind xx.xx.xx.xx:80 name http
>>>>        bind 10.xx.xx.xx:8000 name https # forwared by stunnel
>>>>
>>>>        acl host_xx hdr_beg(host) -i xx.com
>>>>        use_backend xx-http if host_xx
>>>>        default_backend xx-https
>>>>
>>>> backend xx-http
>>>>        balance roundrobin
>>>>        cookie BALANCEID insert indirect nocache
>>>>        option http-server-close
>>>>        option httpchk OPTIONS /check.txt HTTP/1.1\r\nHost:\ www
>>>>        server xx-app1 xx.xx.xx.xx:80 cookie A check
>>>>        server xx-app6 xx.xx.xx.xx:80 cookie B check backup
>>>>        acl secure dst_port eq 8000
>>>>        acl login_page url_beg  /xyz
>>>>        redirect prefix https://xx.com if login_page !secure
>>>>
>>>> backend xx-https
>>>>        mode http
>>>>        balance roundrobin
>>>>        cookie BALANCEID insert indirect nocache
>>>>        option http-server-close
>>>>        # option forwardfor except 127.0.0.1
>>>>        option httpchk OPTIONS /check.txt HTTP/1.1\r\nHost:\ www
>>>>        server xx-app1 xx.xx.xx.xx:80 cookie s1 weight 1 maxconn 5000
>>>> check
>>>>        server xx-app6 xx.xx.xx.xx:80 cookie s2 weight 1 maxconn 5000
>>>> check
>>>> backup
>>>>
>>>> any suggestions?
>>>>
>>>
>>>
>>>
>>
>>
>>
>
>
>
>
>
>

Reply via email to