My developer has added third-party authentications like Google, Twitter to our website. I would like to take over the development now. The first thing I need to do is to be able to test these third-party authentications in localhost. He gave me the following configuration file.
upstream mywebsite {
server 178.62.00.00:443;
}
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /etc/ssl/localhost/localhost.crt;
ssl_certificate_key /etc/ssl/localhost/localhost.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_session_timeout 1d;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security max-age=15768000;
add_header X-Frame-Options "";
proxy_ssl_name "www.mywebsite.io";
proxy_ssl_server_name on;
location ~ /socialLoginSuccess {
rewrite ^ '/#/socialLoginSuccess' redirect;
}
location ~ /auth/(.*) {
proxy_pass https://mywebsite/myapp/auth/$1?$query_string;
proxy_set_header Host localhost;
}
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Accept-Encoding "";
proxy_set_header Proxy "";
proxy_pass http://localhost:3000/;
# These three lines added as per https://github.com/socketio/socket.io/issues/1942 to remove socketio error
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
I then put it as /usr/local/etc/nginx/nginx.conf
under my MacOS. However, I could not run nginx successfully:
$ nginx -t
nginx: [emerg] "upstream" directive is not allowed here in /usr/local/etc/nginx/nginx.conf:1
nginx: configuration file /usr/local/etc/nginx/nginx.conf test failed
$ brew services start nginx
==> Successfully started `nginx` (label: homebrew.mxcl.nginx)
$ brew services list
Warning: Calling bottle :unneeded is deprecated! There is no replacement.
Please report this issue to the stripe/stripe-cli tap (not Homebrew/brew or Homebrew/core):
/usr/local/Homebrew/Library/Taps/stripe/homebrew-stripe-cli/stripe.rb:9
256
Name Status User Plist
[email protected] stopped
nginx error softtimur /usr/local/opt/nginx/homebrew.mxcl.nginx.plist
Does anyone know how to fix this?
Edit 1:
I tried to use the default configuration of nginx, but brew services restart nginx
followed by brew services list
still showed error.