Apache hosting php website and proxy for node js CORS
An apache 2.22 virtual host running a php chat reachable at chat.mydomain.nl. The root folder /var/www/NEWchat/.
A Node js server not serving any webcontent but for passing information and signalling. The node js server has the name server.js, listens on port 1900 and resides in a folder at /var/www/socket.
without proxying it all works!
Then i edit the directives off the virtual host where the website chat.mydomain.nl is running on like:
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so documentRoot /var/www/NEWchat <Directory "/var/www/NEWchat"> allow from all Options +Indexes </Directory> ServerName chat.mydomain.nl Alias /uploads /var/uploads ErrorLog /var/mydomainlog/log.log LogLevel emerg SSLEngine off SSLCertificateFile /etc/letsencrypt/live/chat.mydomain.nl/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/chat.mydomain.nl/privkey.pem SSLCACertificateFile /etc/letsencrypt/live/chat.mydomain.nl/chain.pem ProxyRequests Off ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /socket http://localhost:1900 ProxyPassReverse /socket http://localhost:1900 <Location /socket > Order allow,deny Allow from all </Location>
Restart the apache and pointing from the clients to:
socket = io.connect('http://chat.mydomain.nl:1900');
And al i get is :
“No 'Access-Control-Allow-Origin' header is present on the requested resource”
Solved it by creating a seperate Vhost as proxy for the Node js. Named it socket.mydomain.nl and everyrthing works well