Thanks for the suggestion - it does not solve the problem.

On 01/14/2015 05:01 AM, Matthew Cahn wrote:
Hi Tamas,

Try putting a ProxyPassReverse directive after your ProxyPass directive,
like so:

ProxyPass / http://localhost:****/
ProxyPassReverse / http://localhost:****/

According to the Apache docs --
http://httpd.apache.org/docs/2.4/mod/mod_proxy.html#proxy ...

This is essential when Apache httpd is used as a reverse proxy (or
gateway) to avoid by-passing the reverse proxy because of HTTP redirects
on the backend servers which stay behind the reverse proxy.

Matthew



On Tue, Jan 13, 2015 at 7:05 PM, Tamas Hegedus <[email protected]
<mailto:[email protected]>> wrote:

    Hi,

    I just wanted to test if it is my code or not...
    I quickstarted a test application placed behind apache with ssl.
    root.py - about - redirect to data
    It exhibited the same phenomenon:
    https://tacml.hegelab.orgdata/

    So I think in 2 possibilities:
    1. my apache configuration has some problem.
    2. TG has a bug

    I try to check my apache configuration tomorrow. However, it is
    unlikely to be an apache problem, as it works if there is no "redirect".
    I do not think that I can dig into TG...

    Thanks,
    Tamas


    On 01/13/2015 12:06 PM, Tamas Hegedus wrote:

        I am a little bit shy to share my ugly code... :-)

        There are 3 fields in my login form. In my pre_login I extract
        the 3rd
        one (skey) and redirect to login_handler (or back to the login page)

        I have an extra question at the end, inserted in my code.

        Thanks a lot!

        #-----------------------------__-------
        # I edited the indents for readability

              def pre_login(self, **kw):

                  user_name = kw.get('login',None)
                  ERR = False

                  # Check the username
                  if user_name is None:
                      ERR = True
                  else:
                      try:
                          user =

          User.query.filter(User.user___name==user_name).one()
                      except sqlalchemy.orm.exc.__NoResultFound:
                          ERR = True

                  if ERR:
                      login_counter =
        request.environ.get('repoze.__who.logins',0)+1
                      redirect('/login',
        params=dict(came_from=kw['__came_from'],
                                  __logins=login_counter))

                  else:
                  # Check the skey - this is the 3rd field
                      skey = kw.get('skey', None)
                  # this is a prestored object with an encrypted
                  # property (I (will) know the encryted property only for
                      # this object)
                      ttaj =
        TAJ.query.filter(TAJ.cml_id=="__CML00000").one()
                      ttaj.skey=str(skey)
                  # decryption happens, if it is not OK then
                  # the skey is not valid; go back to login
                      if ttaj.taj != "000111222":
                          login_counter =
                            request.environ.get('repoze.__who.logins',
        0) + 1
                          redirect('/login',
                              params=dict(came_from=kw['__came_from'],
                                       __logins=login_counter))
                      else:
                      # extra Q: I would like to store session data in file
                      # but I have a key shared by specific user that
                          # I do not want to appear in any file on my
        server.
                          # Is this a good pattern? (At this moment I
        could have
                      # "global skey" and not a dict, but for future...)
                          global skeyD
                          skeyD[user_name] = skey
                          redirect('/login_handler', kw)
                                # here I also tried return HTTPFound

        On 01/13/2015 11:49 AM, Moritz Schlarb wrote:

            Could you please also share the relevant code from your
            mypre_login
            function?

            Am 13.01.2015 um 11:41 schrieb Tamas Hegedus:

                Hi,

                I have a TG application running fine as a stand alone
                application.
                TG: Current: 2.3.4

                I place it behind Apache, since I need https.
                It works. Some of the pages.
                If I try to login then the redirection between the
                "handlers" exhibit an
                error: there is no "/" between the domain name and the
                function.

                login.html --> action: mypre_login which redirects to
                login_handler -->
                page is not available:
                https://tacml.hegelab.__orglogin_handler/
                <https://tacml.hegelab.orglogin_handler/> in the
                browser

                I tried to redirect with 'redirect' and 'return HTTPFound'
                and got the same result.

                I can not decide whether or not this is an error in my
                apache
                configuration or something with TG. Below is my virtual
                host file for
                apache.

                Thanks for your help in advance,
                Tamas

                IfModule mod_ssl.c>
                <VirtualHost 195.111.72.57:443 <http://195.111.72.57:443>>
                          ServerAdmin [email protected]
                <mailto:[email protected]>
                          ServerName tacml.hegelab.org
                <http://tacml.hegelab.org>
                          ServerAlias tacml.hegelab.org
                <http://tacml.hegelab.org>
                          DocumentRoot
                /home/****/tg23/mutdb23/__mutdb23/public

                      ProxyRequests off
                          <Proxy *>
                             Order deny,allow
                             Allow from all
                      </Proxy>
                      ProxyPass / http://localhost:****/
                      ProxyPreserveHost on

                      ErrorLog ${APACHE_LOG_DIR}/tacml-error.__log
                      LogLevel debug
                      CustomLog ${APACHE_LOG_DIR}/ssl_access.__log combined

                      SSLEngine on
                      SSLCertificateFile
                /etc/ssl/certs/ssl-cert-__snakeoil.pem
                      SSLCertificateKeyFile
                /etc/ssl/private/ssl-cert-__snakeoil.key

                      BrowserMatch "MSIE [2-6]" \
                          nokeepalive ssl-unclean-shutdown \
                          downgrade-1.0 force-response-1.0
                      BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown

                </VirtualHost>
                </IfModule>



    --
    You received this message because you are subscribed to the Google
    Groups "TurboGears" group.
    To unsubscribe from this group and stop receiving emails from it,
    send an email to turbogears+unsubscribe@__googlegroups.com
    <mailto:turbogears%[email protected]>.
    To post to this group, send email to [email protected]
    <mailto:[email protected]>.
    Visit this group at http://groups.google.com/__group/turbogears
    <http://groups.google.com/group/turbogears>.
    For more options, visit https://groups.google.com/d/__optout
    <https://groups.google.com/d/optout>.


--
You received this message because you are subscribed to the Google
Groups "TurboGears" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
To post to this group, send email to [email protected]
<mailto:[email protected]>.
Visit this group at http://groups.google.com/group/turbogears.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/turbogears.
For more options, visit https://groups.google.com/d/optout.

Reply via email to