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 >