Re: node.js application listening on port 8000 enabled with SSL certificate returns ERR_SSL_PROTOCOL_ERROR on browser.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.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 <thumbs@xxxxxxxxxx> 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 <kaushalshriyan@xxxxxxxxx> 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 <thumbs@xxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxxxx> wrote:



> Date: Sunday, June 25, 2023 16:09:23 +0530
> From: Kaushal Shriyan <kaushalshriyan@xxxxxxxxx>
>
> 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@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx


[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux