You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Kaushal Shriyan <ka...@gmail.com> on 2023/07/01 02:20:12 UTC

Re: [users@httpd] node.js application listening on port 8000 enabled with SSL certificate returns ERR_SSL_PROTOCOL_ERROR on browser.

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


On Sat, Jul 1, 2023 at 2:08 AM Frank Gingras <th...@apache.org> wrote:

> To exclude index.html from your proxying, use ProxyPass /index.html !
> before the existing ProxyPass directive.
>
> On Fri, Jun 30, 2023 at 1:24 PM Kaushal Shriyan <ka...@gmail.com>
> wrote:
>
>> Hi,
>>
>> I have set up a new server with the below details. I am running node.js
>> application on port 3000 and Apache HTTP server on CentOS Linux release
>> 7.9.2009 (Core)
>>
>> # node --version
>> *v16.20.0*
>> # httpd -v
>> Server version: *Apache/2.4.57 (IUS)*
>> Server built:   Apr  7 2023 14:49:47
>> #
>>
>> *Nodejs code document root -> /var/www/html/nodejssl (Node Port 3000)*
>> # pwd
>> /var/www/html/nodejssl
>> # ls -l
>> -rw-r--r-- 1 root root 336 Jun 27 09:43 server.js
>> #
>> *cat server.js*
>> const http = require('http');
>>
>> const hostname = '0.0.0.0';
>> const port = 3000;
>>
>> const server = http.createServer((req, res) => {
>>   res.statusCode = 200;
>>   res.setHeader('Content-Type', 'text/plain');
>>   res.end('Hello World');
>> });
>>
>> server.listen(port, hostname, () => {
>>   console.log(`Server running at http://${hostname}:${port}/`);
>> });
>>
>>
>> *Website php code document root -> /var/www/html/phpcode (Port 443)*
>>
>> #pwd
>> /var/www/html/phpcode/
>> # ls -l
>> -rw-r--r-- 1 root root 336 Jun 27 09:43 index.html
>> #
>> #cat index.html
>> <!DOCTYPE html>
>> <html lang="en">
>>
>>     <head>
>>         <meta charset="UTF-8">
>>         <title>Hello!</title>
>>     </head>
>>
>>     <body>
>>         <h1>Hello World!</h1>
>>         <p>This is a simple paragraph.</p>
>>     </body>
>>
>> </html>
>>
>> #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/phpcode
>>         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 / http://localhost:3000/
>> </VirtualHost>
>>
>> When i hit https://phpnodejs.mydomain.com/nodejssl/server.js I see
>> "Hello World" which works as expected but when i hit
>> https://phpnodejs.mydomain.com/ I do not see the html code index.html
>> file content. Is there a way to render both index.html and node.js
>> server.js file? For example when i hit https://phpnodejs.mydomain.com/
>> it renders index.html file content and when i hit
>> https://phpnodejs.mydomain.com/nodejssl/server.js it renders node.js
>> server.js file content.
>>
>> Please suggest and guide me. Thanks in advance.
>>
>> Best Regards,
>>
>> Kaushal
>>
>> On Sun, Jun 25, 2023 at 10:13 PM Frank Gingras <th...@apache.org> wrote:
>>
>>> None of those entries point to your 404 error.
>>>
>>> Make sure that you are reaching the proper vhost (with the scheme and
>>> hostname) by running apachectl -S.
>>>
>>> There is just far too much noise in the backlog of this thread to make
>>> sense of it so far.
>>>
>>> On Sun, Jun 25, 2023 at 11:46 AM Richard <
>>> lists-apache@listmail.innovate.net> wrote:
>>>
>>>>
>>>>
>>>>
>>>> > Date: Sunday, June 25, 2023 16:09:23 +0530
>>>> > From: Kaushal Shriyan <ka...@gmail.com>
>>>> >
>>>> > I have modified the nodejsbackendssl.conf file located
>>>> > in /etc/httpd/conf.d/ to the below configuration.
>>>> >
>>>> > *#cat  /etc/httpd/conf.d/nodejsbackendssl.conf*
>>>> > <VirtualHost *:80>
>>>> >         ServerName nodejs.mydomain.com
>>>> >         ProxyPass / http://localhost:8000/
>>>> >         LogLevel debug
>>>> >         ErrorLog /var/log/httpd/nodejssslerror.log
>>>> >         CustomLog /var/log/httpd/nodejssslaccess.log combined
>>>> > </VirtualHost>
>>>> >
>>>> > Below are the logs in /var/log/httpd/nodejssslerror.log
>>>> >
>>>> > [Sun Jun 25 16:04:40.289171 2023] [proxy:debug] [pid 6223:tid 6223]
>>>> >> proxy_util.c(2155): AH00925: initializing worker
>>>> >> http://localhost:8000/ shared
>>>>
>>>> If you are still getting errors (e.g., 404s) on the front-end please
>>>> provide the relevant lines from the front-end server's error_log. The
>>>> proxy's corresponding log entries may be of value, but without the
>>>> detail from the front-end it's hard to tell.
>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
>>>> For additional commands, e-mail: users-help@httpd.apache.org
>>>>
>>>>

Re: [users@httpd] node.js application listening on port 8000 enabled with SSL certificate returns ERR_SSL_PROTOCOL_ERROR on browser.

Posted by Frank Gingras <th...@apache.org>.
I would read this page:

https://httpd.apache.org/docs/current/mod/mod_proxy.html#proxypassmatch

On Sun, Jul 2, 2023 at 1:03 PM Kaushal Shriyan <ka...@gmail.com>
wrote:

> Hi Frank,
>
> Thanks for the quick response. I will appreciate it if you can help me
> understand by considering the below directive. I am not sure about placing
> $1 to the target. Any examples which will be easy to understand?
>
> ProxyPass /index.html !
> ProxyPassMatch ^/(.+) http://localhost:3000/
>
> Please suggest further and guide me. Thanks in advance.
>
> Best Regards,
>
> Kaushal
>
> On Sun, Jul 2, 2023 at 9:31 PM Frank Gingras <th...@apache.org> wrote:
>
>> Try adding $1 to the target to use the captured value.
>>
>> Also, depending on the response from the backend, you may need a
>> ProxyPassReverse directive.
>>
>> On Sun, Jul 2, 2023 at 11:41 AM Kaushal Shriyan <ka...@gmail.com>
>> wrote:
>>
>>> Hi Frank,
>>>
>>> When I set the below in /etc/httpd/conf.d/phpnodejs.conf. When I hit
>>> https://phpnodejs.mydomain.com which is the html content, the images
>>> are broken and unable to load javascript, CSS etc...
>>>
>>>         ProxyPass /index.html !
>>>         ProxyPassMatch ^/(.+) http://localhost:3000/
>>>
>>> #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 !
>>>         ProxyPassMatch ^/(.+) http://localhost:3000/
>>> </VirtualHost>
>>>
>>> Please guide me. Thanks in advance.
>>>
>>> Best Regards,
>>>
>>> Kaushal
>>>
>>>
>>> On Sun, Jul 2, 2023 at 8:57 PM Frank Gingras <th...@apache.org> wrote:
>>>
>>>> ^/(.+) will already match /demo, why are you changing the expression?
>>>>
>>>> On Sun, Jul 2, 2023 at 10:42 AM Kaushal Shriyan <
>>>> kaushalshriyan@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 <th...@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 <
>>>>>> kaushalshriyan@gmail.com> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Sun, Jul 2, 2023 at 6:20 AM Kaushal Shriyan <
>>>>>>> kaushalshriyan@gmail.com> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Sun, Jul 2, 2023 at 6:14 AM Kaushal Shriyan <
>>>>>>>> kaushalshriyan@gmail.com> wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Sat, Jul 1, 2023 at 7:50 AM Kaushal Shriyan <
>>>>>>>>> kaushalshriyan@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
>>>>>>>
>>>>>>

Re: [users@httpd] node.js application listening on port 8000 enabled with SSL certificate returns ERR_SSL_PROTOCOL_ERROR on browser.

Posted by Kaushal Shriyan <ka...@gmail.com>.
Hi Frank,

Thanks for the quick response. I will appreciate it if you can help me
understand by considering the below directive. I am not sure about placing
$1 to the target. Any examples which will be easy to understand?

ProxyPass /index.html !
ProxyPassMatch ^/(.+) http://localhost:3000/

Please suggest further and guide me. Thanks in advance.

Best Regards,

Kaushal

On Sun, Jul 2, 2023 at 9:31 PM Frank Gingras <th...@apache.org> wrote:

> Try adding $1 to the target to use the captured value.
>
> Also, depending on the response from the backend, you may need a
> ProxyPassReverse directive.
>
> On Sun, Jul 2, 2023 at 11:41 AM Kaushal Shriyan <ka...@gmail.com>
> wrote:
>
>> Hi Frank,
>>
>> When I set the below in /etc/httpd/conf.d/phpnodejs.conf. When I hit
>> https://phpnodejs.mydomain.com which is the html content, the images are
>> broken and unable to load javascript, CSS etc...
>>
>>         ProxyPass /index.html !
>>         ProxyPassMatch ^/(.+) http://localhost:3000/
>>
>> #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 !
>>         ProxyPassMatch ^/(.+) http://localhost:3000/
>> </VirtualHost>
>>
>> Please guide me. Thanks in advance.
>>
>> Best Regards,
>>
>> Kaushal
>>
>>
>> On Sun, Jul 2, 2023 at 8:57 PM Frank Gingras <th...@apache.org> wrote:
>>
>>> ^/(.+) will already match /demo, why are you changing the expression?
>>>
>>> On Sun, Jul 2, 2023 at 10:42 AM Kaushal Shriyan <
>>> kaushalshriyan@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 <th...@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 <
>>>>> kaushalshriyan@gmail.com> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Sun, Jul 2, 2023 at 6:20 AM Kaushal Shriyan <
>>>>>> kaushalshriyan@gmail.com> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Sun, Jul 2, 2023 at 6:14 AM Kaushal Shriyan <
>>>>>>> kaushalshriyan@gmail.com> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Sat, Jul 1, 2023 at 7:50 AM Kaushal Shriyan <
>>>>>>>> kaushalshriyan@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
>>>>>>
>>>>>

Re: [users@httpd] node.js application listening on port 8000 enabled with SSL certificate returns ERR_SSL_PROTOCOL_ERROR on browser.

Posted by Frank Gingras <th...@apache.org>.
Try adding $1 to the target to use the captured value.

Also, depending on the response from the backend, you may need a
ProxyPassReverse directive.

On Sun, Jul 2, 2023 at 11:41 AM Kaushal Shriyan <ka...@gmail.com>
wrote:

> Hi Frank,
>
> When I set the below in /etc/httpd/conf.d/phpnodejs.conf. When I hit
> https://phpnodejs.mydomain.com which is the html content, the images are
> broken and unable to load javascript, CSS etc...
>
>         ProxyPass /index.html !
>         ProxyPassMatch ^/(.+) http://localhost:3000/
>
> #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 !
>         ProxyPassMatch ^/(.+) http://localhost:3000/
> </VirtualHost>
>
> Please guide me. Thanks in advance.
>
> Best Regards,
>
> Kaushal
>
>
> On Sun, Jul 2, 2023 at 8:57 PM Frank Gingras <th...@apache.org> wrote:
>
>> ^/(.+) will already match /demo, why are you changing the expression?
>>
>> On Sun, Jul 2, 2023 at 10:42 AM Kaushal Shriyan <ka...@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 <th...@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 <
>>>> kaushalshriyan@gmail.com> wrote:
>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Sun, Jul 2, 2023 at 6:20 AM Kaushal Shriyan <
>>>>> kaushalshriyan@gmail.com> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> On Sun, Jul 2, 2023 at 6:14 AM Kaushal Shriyan <
>>>>>> kaushalshriyan@gmail.com> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Sat, Jul 1, 2023 at 7:50 AM Kaushal Shriyan <
>>>>>>> kaushalshriyan@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
>>>>>
>>>>

Re: [users@httpd] node.js application listening on port 8000 enabled with SSL certificate returns ERR_SSL_PROTOCOL_ERROR on browser.

Posted by Kaushal Shriyan <ka...@gmail.com>.
Hi Frank,

When I set the below in /etc/httpd/conf.d/phpnodejs.conf. When I hit
https://phpnodejs.mydomain.com which is the html content, the images are
broken and unable to load javascript, CSS etc...

        ProxyPass /index.html !
        ProxyPassMatch ^/(.+) http://localhost:3000/

#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 !
        ProxyPassMatch ^/(.+) http://localhost:3000/
</VirtualHost>

Please guide me. Thanks in advance.

Best Regards,

Kaushal


On Sun, Jul 2, 2023 at 8:57 PM Frank Gingras <th...@apache.org> wrote:

> ^/(.+) will already match /demo, why are you changing the expression?
>
> On Sun, Jul 2, 2023 at 10:42 AM Kaushal Shriyan <ka...@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 <th...@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 <ka...@gmail.com>
>>> wrote:
>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Sun, Jul 2, 2023 at 6:20 AM Kaushal Shriyan <
>>>> kaushalshriyan@gmail.com> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Sun, Jul 2, 2023 at 6:14 AM Kaushal Shriyan <
>>>>> kaushalshriyan@gmail.com> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> On Sat, Jul 1, 2023 at 7:50 AM Kaushal Shriyan <
>>>>>> kaushalshriyan@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
>>>>
>>>

Re: [users@httpd] node.js application listening on port 8000 enabled with SSL certificate returns ERR_SSL_PROTOCOL_ERROR on browser.

Posted by Frank Gingras <th...@apache.org>.
^/(.+) will already match /demo, why are you changing the expression?

On Sun, Jul 2, 2023 at 10:42 AM Kaushal Shriyan <ka...@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 <th...@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 <ka...@gmail.com>
>> wrote:
>>
>>>
>>>
>>>
>>>
>>> On Sun, Jul 2, 2023 at 6:20 AM Kaushal Shriyan <ka...@gmail.com>
>>> wrote:
>>>
>>>>
>>>>
>>>> On Sun, Jul 2, 2023 at 6:14 AM Kaushal Shriyan <
>>>> kaushalshriyan@gmail.com> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Sat, Jul 1, 2023 at 7:50 AM Kaushal Shriyan <
>>>>> kaushalshriyan@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
>>>
>>

Re: [users@httpd] node.js application listening on port 8000 enabled with SSL certificate returns ERR_SSL_PROTOCOL_ERROR on browser.

Posted by Kaushal Shriyan <ka...@gmail.com>.
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 <th...@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 <ka...@gmail.com>
> wrote:
>
>>
>>
>>
>>
>> On Sun, Jul 2, 2023 at 6:20 AM Kaushal Shriyan <ka...@gmail.com>
>> wrote:
>>
>>>
>>>
>>> On Sun, Jul 2, 2023 at 6:14 AM Kaushal Shriyan <ka...@gmail.com>
>>> wrote:
>>>
>>>>
>>>>
>>>> On Sat, Jul 1, 2023 at 7:50 AM Kaushal Shriyan <
>>>> kaushalshriyan@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
>>
>

Re: [users@httpd] node.js application listening on port 8000 enabled with SSL certificate returns ERR_SSL_PROTOCOL_ERROR on browser.

Posted by Frank Gingras <th...@apache.org>.
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 <ka...@gmail.com>
wrote:

>
>
>
>
> On Sun, Jul 2, 2023 at 6:20 AM Kaushal Shriyan <ka...@gmail.com>
> wrote:
>
>>
>>
>> On Sun, Jul 2, 2023 at 6:14 AM Kaushal Shriyan <ka...@gmail.com>
>> wrote:
>>
>>>
>>>
>>> On Sat, Jul 1, 2023 at 7:50 AM Kaushal Shriyan <ka...@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
>

Re: [users@httpd] node.js application listening on port 8000 enabled with SSL certificate returns ERR_SSL_PROTOCOL_ERROR on browser.

Posted by Kaushal Shriyan <ka...@gmail.com>.
On Sun, Jul 2, 2023 at 6:20 AM Kaushal Shriyan <ka...@gmail.com>
wrote:

>
>
> On Sun, Jul 2, 2023 at 6:14 AM Kaushal Shriyan <ka...@gmail.com>
> wrote:
>
>>
>>
>> On Sat, Jul 1, 2023 at 7:50 AM Kaushal Shriyan <ka...@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

Re: [users@httpd] node.js application listening on port 8000 enabled with SSL certificate returns ERR_SSL_PROTOCOL_ERROR on browser.

Posted by Kaushal Shriyan <ka...@gmail.com>.
On Sun, Jul 2, 2023 at 6:14 AM Kaushal Shriyan <ka...@gmail.com>
wrote:

>
>
> On Sat, Jul 1, 2023 at 7:50 AM Kaushal Shriyan <ka...@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

Re: [users@httpd] node.js application listening on port 8000 enabled with SSL certificate returns ERR_SSL_PROTOCOL_ERROR on browser.

Posted by Kaushal Shriyan <ka...@gmail.com>.
On Sat, Jul 1, 2023 at 7:50 AM Kaushal Shriyan <ka...@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