Before You Begin
- Check for updates
sudo apt-get update && sudo apt-get upgrade
Install nginx
- Install nginx
sudo apt-get install -y nginx - Decide how you want to access parse:
a. example.com/parseapp/
b. parseapp.example.com/ (don’t forget to add an A record for parseapp pointing to the IP address and include subdomain in Let’s Encrypt certificates)
Setup nginx for example.com/parseapp/
- Change directory
cd /etc/nginx/sites-enabled/ - Open default
sudo nano default - Select all
ctrl+shift+6
↓↓↓↓ to the bottom
ctrl+K - Paste the following in, changing
example.com,
parseapp, and
portnumber
12345678910111213141516171819202122232425262728293031323334353637383940# HTTP - redirect all requests to HTTPSserver {listen 80;listen [::]:80 default_server ipv6only=on;return 301 https://\$host\$request_uri;}# HTTPS - serve HTML from /usr/share/nginx/html, proxy requests to /parse/# through to Parse Serverserver {listen 443;server_name example.com;root /usr/share/nginx/html;index index.html index.htm;ssl on;# Use certificate and key provided by Let's Encrypt:ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;ssl_session_timeout 5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';# Pass requests for example.com/parseapp/ to parse-server instance at localhost:portnumberlocation /parseapp/ {proxy_set_header X-Real-IP \$remote_addr;proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;proxy_set_header X-NginX-Proxy true;proxy_pass http://localhost:portnumber/parse/;proxy_ssl_session_reuse off;proxy_set_header Host \$http_host;proxy_redirect off;}location / {try_files \$uri \$uri/ =404;}} - Save and exit
- Restart nginx
sudo service nginx restart
Setup nginx for parseapp.example.com/
- Change directory
cd /etc/nginx/sites-enabled/ - Open default
sudo nano default - Select all
ctrl+shift+6
↓↓↓↓ to the bottom
ctrl+K - Paste the following in, changing
example.com,
parseapp, and
portnumber
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758# HTTP - redirect all requests to HTTPSserver {listen 80;listen [::]:80 default_server ipv6only=on;return 301 https://\$host\$request_uri;}# HTTPS - serve HTML from /usr/share/nginx/html, proxy requests to /parse/# through to Parse Serverserver {listen 443;server_name example.com;root /usr/share/nginx/html;index index.html index.htm;ssl on;# Use certificate and key provided by Let's Encrypt:ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;ssl_session_timeout 5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';location / {try_files \$uri \$uri/ =404;}}server {listen 443;server_name parseapp.example.com;root /usr/share/nginx/html;index index.html index.htm;ssl on;# Use certificate and key provided by Let's Encrypt:ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;ssl_session_timeout 5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';# Pass requests for parseapp.example.com/ to Parse Server instance at localhost:portnumber/parse/location / {proxy_set_header X-Real-IP \$remote_addr;proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;proxy_set_header X-NginX-Proxy true;proxy_pass http://localhost:portnumber/parse/;proxy_ssl_session_reuse off;proxy_set_header Host \$http_host;proxy_redirect off;}} - Save and exit
- Restart nginx
sudo service nginx restart
2 Replies to “Setting up nginx on Ubuntu for parse-server”
Comments are closed.