Yea us! Umm. Does this mean I get a discount on the upcoming v7? ;-)

On Mon, Oct 2, 2017 at 1:10 PM, David Ringsmuth <[email protected]> wrote:

> Good job Doug!
>
> David Ringsmuth
>
> From: Doug Hall
> Sent: Monday, October 2, 2017 1:03 PM
> To: Active4D Developer Discussion List
> Subject: Re: [Active4d-dev] nginx proxy pass
>
> I've fixed it. Apparently, since the header information did not include the
> port number, it resolved to the last known root, which was set by visiting
> the url with the port number. I fixed it by removing everything after the @
> (including the port number) in my VirtualHosts.ini file, as follows:
>
> /* IP Address        Hostname[:port]                        Language
> Root                           Default */
> *                            localhost:8010                           *
>                 location_1_folder           *
> *                            name1@                                    *
>                 location_1_folder           *
> *                            name2.localhost:8010               *
>           location_2_folder           *
> *                            name2@                                    *
>                 location_2_folder           *
>
> Perhaps there's a directive that I could have used to include the port
> number in the request, but this seems to work, too.
>
> Thanks, for taking your time on this! The problem was located and
> determined to reside between the chair and keyboard. :-)
>
> Doug
>
> On Mon, Oct 2, 2017 at 11:54 AM, Aparajita Fishman <
> [email protected]>
> wrote:
>
> > I'm looking into it.
> >
> > > On Oct 2, 2017, at 9:27 AM, Doug Hall <[email protected]> wrote:
> > >
> > > Okay, I've dug a little further and have more information, now. It
> > appears
> > > to be a Virtualhosts.ini issue, not an nginx issue, but I can't be
> sure,
> > > because going directly to the URL, (with the port number) bypasses
> nginx
> > > altogether, and Active4D servers the correct website. I put a log
> message
> > > in the On Web Connection method, to write the header information of the
> > > request to a log file. First, my VirtualHosts.ini configuration, then
> the
> > > request headers, with names changed to obscure the guilty:
> > >
> > > VirtualHosts.ini:
> > >
> > > /* IP Address        Hostname[:port]                        Language
> > > Root                           Default */
> > > *                            localhost:8010                           *
> > >                location_1_folder           *
> > > *                            [email protected]:8010      *
> > >  location_1_folder           *
> > > *                            name2.localhost:8010               *
> > >          location_2_folder           *
> > > *                            [email protected]:8010      *
> > >  location_2_folder           *
> > >
> > >
> > > request header:
> > >
> > > 10/2/17 at 09:41:58: Header: GET
> > > /index.a4d?fuseaction=<location_2_circuit>.main HTTP/1.0
> > > Accept:
> > > text/html,application/xhtml+xml,application/xml;q=0.9,
> > image/webp,image/apng,*/*;q=0.8
> > > Accept-Encoding: gzip, deflate
> > > Accept-Language: en-US,en;q=0.8
> > > Connection: close
> > > Cookie: c42_cookie_token=07l322blahblah; __utmc=135214817;
> > > PROD=8BuOGblahblah; _ga=GA1.2.767blahblah; _gid=GA1.2.125blahblah
> > > Host: name1temp.domain.com
> > > Referer: http://name1temp.domain.com/
> > > Upgrade-Insecure-Requests: 1
> > > User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5)
> > > AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100
> Safari/537.36
> > > X-Forwarded-For: My_IP_Address
> > > X-Real-IP: My_IP_Address
> > >
> > > Obviously, I've obscured my addresses and port numbers (for security),
> > but
> > > I actually did use the "@" in virtualhosts.ini to match "temp" at the
> end
> > > of my hostname. Yes, that temporary URL is defined on our local DNS
> > server.
> > >
> > > The point above, is that Active4D is serving circuit2's root folder
> even
> > > though the header shows that it's receiving name1temp from my reverse
> > proxy
> > > configuration in nginx. Now, there's nothing in the header that says
> > > anything about the port number, however it wouldn't have logged this
> > > message had it not been sent to the correct port, so I'm not sure
> that's
> > a
> > > problem.
> > >
> > > Also, remember that the reverse happens, too. If I visit
> > > name1temp.domain.com:8010 (I include the port number in the URL), then
> > > thereafter, going to either name1temp.domain.com or
> name2temp.domain.com
> > > (without the port number), will both resolve to name1's root folder.
> > When I
> > > visit name2temp.domain.com:8010. Then, it will always resolve to
> name2's
> > > root folder, until I visit name1temp.domain.com:8010 again.
> > >
> > > Thanks for any assistance. I'm losing hair, over here. :-(
> > >
> > > Doug
> > >
> > > On Fri, Sep 29, 2017 at 1:58 PM, Doug Hall <[email protected]>
> > wrote:
> > >
> > >> I posted this on the NUG as well, but it may or may not be more
> relevant
> > >> here:
> > >>
> > >> I am having some problems with my Nginx reverse proxy. I'm running
> > 4Dv15,
> > >> and Active4D 6.4r3, using the 4D server shell. I have successfully
> > >> configured two web roots in Active4D, which run on the same 4D Web
> > Client,
> > >> on port 8010. I have two different host names which are pointed to the
> > same
> > >> IP address. I'll call them name1.domain.com:8010 and
> > name2.domain.com:8010.
> > >> These successfully resolve to the appropriate web root within
> Active4D,
> > >> when I put those two urls in my web browser.
> > >>
> > >> I set up my proxy in nginx two different ways, and neither of them
> > >> consistently resolve to the right website:
> > >>
> > >> 1: I setup one upstream server and accessed it through proxy_pass from
> > >> both server definitions:
> > >>
> > >> upstream 4d_webclient{
> > >>    server 127.0.0.1:8010;
> > >> }
> > >>
> > >> server {
> > >>    listen 80;
> > >>    server_name name1.domain.com;
> > >>
> > >>    location / {
> > >>       root   /location_1
> > >>       proxy_pass http://4d_webclient;
> > >>       ...
> > >>    }
> > >> }
> > >>
> > >> server {
> > >>    listen 80;
> > >>    server_name name2.domain.com;
> > >>
> > >>    location / {
> > >>       root /location_2
> > >>       proxy_pass http://4d_webclient;
> > >>       ...
> > >>    }
> > >> }
> > >>
> > >> Please note that I'm just trying to get the reverse proxy to work.
> Once
> > I
> > >> do that, I'll add SSL requirements, and all the necessary rewrites to
> > make
> > >> sure people are redirected to our secured interface.
> > >>
> > >> The second way I did it was to create a different upstream for each
> > >> website, using the DNS names for each, and then calling the
> appropriate
> > >> upstream proxy from each server definition:
> > >>
> > >> upstream name1_server{
> > >>    server name1.domain.com:8010;
> > >> }
> > >>
> > >> upstream name2_server{
> > >>   server name2.domain.com:8010;
> > >> }
> > >>
> > >> ... (the same as above, except replacing 4d_webclient with
> > name1/2_server
> > >> at proxy_pass)
> > >>
> > >> Both ways gave the same results. After restarting my Web Client and
> > nginx
> > >> (just to make sure I start from a clean slate), both
> name1.domain.comand
> > >> name2.domain.com resolve to the name1:domain.com:8010 website.
> However,
> > >> if I go to name2.domain.com:8010, then both name1.domain.com and name
> > >> 2.domain.com will resolve to that website. Going to
> > name1.domain.com:8010 then
> > >> causes both portless addresses to resolve there, until I visit
> > >> name2.domain.com:8010 directly again.
> > >>
> > >> Obviously, I don't understand the relationship between how nginx deals
> > >> with upstream declarations and how that passes along to Active4D. Any
> > help
> > >> would be appreciated.
> > >>
> > >> Doug
> > >>
> > > _______________________________________________
> > > Active4D-dev mailing list
> > > [email protected]
> > > http://list.aparajitaworld.com/listinfo/active4d-dev
> > > Archives: http://active4d-nabble.aparajitaworld.com/
> >
> > _______________________________________________
> > Active4D-dev mailing list
> > [email protected]
> > http://list.aparajitaworld.com/listinfo/active4d-dev
> > Archives: http://active4d-nabble.aparajitaworld.com/
> _______________________________________________
> Active4D-dev mailing list
> [email protected]
> http://list.aparajitaworld.com/listinfo/active4d-dev
> Archives: http://active4d-nabble.aparajitaworld.com/
>
> _______________________________________________
> Active4D-dev mailing list
> [email protected]
> http://list.aparajitaworld.com/listinfo/active4d-dev
> Archives: http://active4d-nabble.aparajitaworld.com/
>
_______________________________________________
Active4D-dev mailing list
[email protected]
http://list.aparajitaworld.com/listinfo/active4d-dev
Archives: http://active4d-nabble.aparajitaworld.com/

Reply via email to