^/(.+) will already match /demo, why are you changing the expression? On Sun, Jul 2, 2023 at 10:42 AM Kaushal Shriyan <kaushalshri...@gmail.com> wrote:
> Hi Frank, > > Thanks a lot. It worked perfectly. I have a follow up question for /demo > path (as part of node.js code so /demo has all nodejs code) just as an > improvement . I modified the ProxyPassMatch directive as per the below > example and it returned http 404. > > ProxyPassMatch ^/demo(.+) http://localhost:3000/ > > Am I missing anything? Apologies for bugging you. > > Please guide me. Thanks in advance. > > Best Regards, > > Kaushal > > > On Sun, Jul 2, 2023 at 8:00 AM Frank Gingras <thu...@apache.org> wrote: > >> This thread is getting very tiresome. So, let's summarize: >> >> - You want to request /, serve index.html >> - For all other requests, proxy internally >> >> As such, keep the ProxyPass /index.html ! for clarity and change your >> existing ProxyPass directive to: >> >> ProxyPassMatch ^/(.+) http://localhost:3000/ >> >> In short, this means that requesting / will not match, and requesting >> /foo will proxy. >> >> On Sat, Jul 1, 2023 at 9:22 PM Kaushal Shriyan <kaushalshri...@gmail.com> >> wrote: >> >>> >>> >>> >>> >>> On Sun, Jul 2, 2023 at 6:20 AM Kaushal Shriyan <kaushalshri...@gmail.com> >>> wrote: >>> >>>> >>>> >>>> On Sun, Jul 2, 2023 at 6:14 AM Kaushal Shriyan < >>>> kaushalshri...@gmail.com> wrote: >>>> >>>>> >>>>> >>>>> On Sat, Jul 1, 2023 at 7:50 AM Kaushal Shriyan < >>>>> kaushalshri...@gmail.com> wrote: >>>>> >>>>>> Hi Frank, >>>>>> >>>>>> Thanks for the email response and much appreciated. I added the >>>>>> ProxyPass /index.html ! directive in /etc/httpd/conf.d/phpnodejs.conf >>>>>> >>>>>> #cat /etc/httpd/conf.d/phpnodejs.conf >>>>>> <VirtualHost *:80> >>>>>> ServerName phpnodejs.mydomain.com >>>>>> Redirect / https://phpnodejs.mydomain.com/ >>>>>> </VirtualHost> >>>>>> <VirtualHost *:443> >>>>>> DocumentRoot /var/www/html/htmlcode >>>>>> ServerName phpnodejs.mydomain.com >>>>>> Header add Access-Control-Allow-Origin "*" >>>>>> SSLEngine on >>>>>> SSLCertificateFile /etc/letsencrypt/live/ >>>>>> phpnodejs.mydomain.com/cert.pem >>>>>> SSLCertificateKeyFile /etc/letsencrypt/live/ >>>>>> phpnodejs.mydomain.com/privkey.pem >>>>>> SSLCertificateChainFile /etc/letsencrypt/live/ >>>>>> phpnodejs.mydomain.com/chain.pem >>>>>> Header always set Strict-Transport-Security >>>>>> "max-age=63072000; includeSubDomains" >>>>>> ProxyPass /index.html ! >>>>>> ProxyPass / http://localhost:3000/ >>>>>> </VirtualHost> >>>>>> >>>>>> # apachectl configtest >>>>>> Syntax OK >>>>>> #apachectl -S >>>>>> VirtualHost configuration: >>>>>> *:80 phpnodejs.mydomain.com >>>>>> (/etc/httpd/conf.d/phpnodejs.conf:1) >>>>>> *:443 phpnodejs.mydomain.com >>>>>> (/etc/httpd/conf.d/phpnodejs.conf:5) >>>>>> ServerRoot: "/etc/httpd" >>>>>> Main DocumentRoot: "/var/www/html" >>>>>> Main ErrorLog: "/etc/httpd/logs/error_log" >>>>>> Mutex mpm-accept: using_defaults >>>>>> Mutex cache-socache: using_defaults >>>>>> Mutex authdigest-opaque: using_defaults >>>>>> Mutex watchdog-callback: using_defaults >>>>>> Mutex proxy-balancer-shm: using_defaults >>>>>> Mutex rewrite-map: using_defaults >>>>>> Mutex ssl-stapling-refresh: using_defaults >>>>>> Mutex authdigest-client: using_defaults >>>>>> Mutex lua-ivm-shm: using_defaults >>>>>> Mutex ssl-stapling: using_defaults >>>>>> Mutex proxy: using_defaults >>>>>> Mutex authn-socache: using_defaults >>>>>> Mutex ssl-cache: using_defaults >>>>>> Mutex default: dir="/run/httpd/" mechanism=default >>>>>> PidFile: "/run/httpd/httpd.pid" >>>>>> Define: DUMP_VHOSTS >>>>>> Define: DUMP_RUN_CFG >>>>>> User: name="apache" id=48 >>>>>> Group: name="apache" id=48 >>>>>> # >>>>>> >>>>>> when I hit https://phpnodejs.mydomain.com/ it still points to the >>>>>> nodejs server.js file located in /var/www/html/nodejssl. For testing >>>>>> purposes, I stopped the node js code to execute. I get the below message >>>>>> on >>>>>> the browser which is expected behaviour. >>>>>> >>>>>> [image: image.png] >>>>>> >>>>>> I am still unable to render the index.html file from the document >>>>>> root in /var/www/html/htmlcode which I created a new folder for testing >>>>>> purposes. >>>>>> >>>>>> Please suggest and guide me. Thanks in advance. >>>>>> >>>>>> Best Regards, >>>>>> >>>>>> Kaushal >>>>>> >>>>> >>>>> Hi, >>>>> >>>>> I have referred to https://httpd.apache.org/docs/2.4/mod/mod_dir.html >>>>> by adding DirectoryIndex index.html directive in 443 virtualhost. The >>>>> issue >>>>> still persists. >>>>> >>>>> #cat /etc/httpd/conf.d/phpnodejs.conf >>>>> <VirtualHost *:80> >>>>> ServerName phpnodejs.mydomain.com >>>>> Redirect / https://phpnodejs.mydomain.com/ >>>>> </VirtualHost> >>>>> <VirtualHost *:443> >>>>> DocumentRoot /var/www/html/htmlcode >>>>> DirectoryIndex index.html >>>>> ServerName phpnodejs.mydomain.com >>>>> Header add Access-Control-Allow-Origin "*" >>>>> SSLEngine on >>>>> SSLCertificateFile /etc/letsencrypt/live/ >>>>> phpnodejs.mydomain.com/cert.pem >>>>> SSLCertificateKeyFile /etc/letsencrypt/live/ >>>>> phpnodejs.mydomain.com/privkey.pem >>>>> SSLCertificateChainFile /etc/letsencrypt/live/ >>>>> phpnodejs.mydomain.com/chain.pem >>>>> Header always set Strict-Transport-Security "max-age=63072000; >>>>> includeSubDomains" >>>>> ProxyPass /index.html ! >>>>> ProxyPass / http://localhost:3000/ >>>>> </VirtualHost> >>>>> >>>>> Please suggest further and guide me. Thanks in advance. >>>>> >>>>> Best Regards, >>>>> >>>>> Kaushal >>>>> >>>> >>>> >>>> Further to the earlier email, I am sharing the log files. >>>> >>>> #cd /var/log/httpd/ >>>> #pwd >>>> /var/log/httpd >>>> # cat access_log >>>> 172.16.16.45 - - [02/Jul/2023:06:17:19 +0530] "GET / HTTP/1.1" 200 11 >>>> "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 >>>> Firefox/114.0" >>>> 172.16.16.45 - - [02/Jul/2023:06:17:58 +0530] "GET /nodejssl/server.js >>>> HTTP/1.1" 200 11 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; >>>> rv:109.0) Gecko/20100101 Firefox/114.0" >>>> 172.16.16.45 - - [02/Jul/2023:06:18:03 +0530] "GET / HTTP/1.1" 200 11 >>>> "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 >>>> Firefox/114.0" >>>> # cat error_log >>>> [Sun Jul 02 06:17:14.849472 2023] [suexec:notice] [pid 31795:tid 31795] >>>> AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) >>>> [Sun Jul 02 06:17:14.880212 2023] [ssl:warn] [pid 31795:tid 31795] >>>> AH01873: Init: Session Cache is not configured [hint: SSLSessionCache] >>>> [Sun Jul 02 06:17:14.881405 2023] [http2:warn] [pid 31795:tid 31795] >>>> AH10034: The mpm module (prefork.c) is not supported by mod_http2. The mpm >>>> determines how things are processed in your server. HTTP/2 has more demands >>>> in this regard and the currently selected mpm will just not do. This is an >>>> advisory warning. Your server will continue to work, but the HTTP/2 >>>> protocol will be inactive. >>>> [Sun Jul 02 06:17:14.882256 2023] [lbmethod_heartbeat:notice] [pid >>>> 31795:tid 31795] AH02282: No slotmem from mod_heartmonitor >>>> [Sun Jul 02 06:17:14.887938 2023] [mpm_prefork:notice] [pid 31795:tid >>>> 31795] AH00163: Apache/2.4.57 (IUS) OpenSSL/1.0.2k-fips configured -- >>>> resuming normal operations >>>> [Sun Jul 02 06:17:14.887993 2023] [core:notice] [pid 31795:tid 31795] >>>> AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND' >>>> # >>>> >>>> Best Regards, >>>> >>>> Kaushal >>>> >>> >>> Hi, >>> >>> I have enabled debug logging by adding LogLevel debug in 443 >>> virtualhost. >>> >>> #cat /etc/httpd/conf.d/phpnodejs.conf >>> <VirtualHost *:80> >>> ServerName phpnodejs.mydomain.com >>> Redirect / https://phpnodejs.mydomain.com/ >>> </VirtualHost> >>> <VirtualHost *:443> >>> DocumentRoot /var/www/html/htmlcode >>> DirectoryIndex index.html >>> ServerName phpnodejs.mydomain.com >>> Header add Access-Control-Allow-Origin "*" >>> LogLevel debug >>> SSLEngine on >>> SSLCertificateFile /etc/letsencrypt/live/ >>> phpnodejs.mydomain.com/cert.pem >>> SSLCertificateKeyFile /etc/letsencrypt/live/ >>> phpnodejs.mydomain.com/privkey.pem >>> SSLCertificateChainFile /etc/letsencrypt/live/ >>> phpnodejs.mydomain.com/chain.pem >>> Header always set Strict-Transport-Security "max-age=63072000; >>> includeSubDomains" >>> ProxyPass /index.html ! >>> ProxyPass / http://localhost:3000/ >>> </VirtualHost> >>> >>> debug apache error log file -> http://sprunge.us/kndkvL >>> >>> Please suggest further and guide me. Thanks in advance. >>> >>> Best Regards, >>> >>> Kaushal >>> >>