Prerender basicAuth configuration

I start the prerender server and everything is fine, but now I want to install some security using basicAuth .

In my console, I exported the username password

export BASIC_AUTH_USERNAME=hugo
export BASIC_AUTH_PASSWORD=boss

In my server.js, I added this line:

server.use(prerender.basicAuth());

But now the question arises, how to configure my express server to call prerender with the correct user / pass. I have it:

var prerender = require('prerender-node').set('prerenderServiceUrl', 'http://123.123.123.123:3000/');
prerender.set('protocol', 'https');

I do not find any documents, expect something like:

prerender.set('user', 'hugo');
prerender.set('pass', 'boss');

I would be grateful for your help. Thank you and happy christmas :)

app.use(prerender);

Decision

How often, the solution is simple when you clearly understand the problem ...

Instead:

var prerender = require('prerender-node').set('prerenderServiceUrl', 'http://123.123.123.123:3000/');

Simply:

var prerender = require('prerender-node').set('prerenderServiceUrl', 'http://hugo:boss@123.123.123.123:3000/');

BUT A NEW PROBLEM

The exported environment variables (BASIC_AUTH_USERNAME and BASIC_AUTH_PASSWORD) are available when I run my script as follows:

node server.js

, , a:

forever start server.js

... , , !

, env , , :

BASIC_AUTH_USERNAME=hugo BASIC_AUTH_PASSWORD=boss forever start server.js

2016/05/05 UPDATE

supervisor nodejs, prerender ( , )

[program:prerender]
environment =
    BASIC_AUTH_USERNAME=hugo,
    BASIC_AUTH_PASSWORD=boss
command=bash -c "ulimit -n 10000;exec nodejs /home/hugo/prerender/server.js"
process_name=prerender
numprocs=1
autostart=true
autorestart=true
user=hugo
stdout_logfile=/home/hugo/supervisor-prerender-info.log
stdout_logfile_maxbytes=1MB
stderr_logfile=/home/hugo/supervisor-prerender-error.log
stderr_logfile_maxbytes=1MB

.htaccess,

RewriteRule ^(?!.*?(\.js|...|\.woff))(.*) http://hugo:boss@123.123.123.123:3000/https://my-website.com/$2 [P,L]

Basic Auth, prerender (401), Apache ( sudo a2enmod) :

RequestHeader set Authorization "Basic aHVnbzpib3Nz"

aHVnbzpib3Nz :

echo -n 'hugo:boss' | base64
+4
1

bash script, init.sh:

export BASIC_AUTH_USERNAME=hugo 
export BASIC_AUTH_PASSWORD=boss
echo "Running prerender"
forever start server.js

:

chmod +x ./init.sh

script ./init.sh script (systemd, sysv), .

0

Source: https://habr.com/ru/post/1568913/


All Articles