Skip to content

Instantly share code, notes, and snippets.

@eslam-mahmoud
Last active July 29, 2018 02:01
Show Gist options
  • Save eslam-mahmoud/4c0641e76da4fc3a1575c80ffdc45f31 to your computer and use it in GitHub Desktop.
Save eslam-mahmoud/4c0641e76da4fc3a1575c80ffdc45f31 to your computer and use it in GitHub Desktop.
#install
sudo apt-get install nginx
#remove default
sudo nano /etc/nginx/sites-available/default
sudo rm /etc/nginx/sites-enabled/default
#create new file
sudo nano /etc/nginx/sites-available/{appName}
server {
listen 80;
server_name {DOMAIN}.{TLD} www.{DOMAIN}.{TLD};
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl; # managed by Certbot
server_name {DOMAIN}.{TLD} www.{DOMAIN}.{TLD};
ssl_certificate /etc/letsencrypt/live/{DOMAIN}.{TLD}/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/{DOMAIN}.{TLD}/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:{PORT};
}
}
server {
listen 80;
server_name {SUPDOMAIN}.{DOMAIN}.{TLD};
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl; # managed by Certbot
server_name {SUPDOMAIN}.{DOMAIN}.{TLD};
ssl_certificate /etc/letsencrypt/live/{DOMAIN}.{TLD}/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/{DOMAIN}.{TLD}/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:{PORT};
}
}
#enable it
sudo ln -s /etc/nginx/sites-available/{appName} /etc/nginx/sites-enabled/{appName}
#restart to work
sudo service nginx restart
#update the config file
sudo nano /etc/nginx/sites-available/{appName}
#restart server
sudo rm /etc/nginx/sites-enabled/{appName}; sudo ln -s /etc/nginx/sites-available/{appName} /etc/nginx/sites-enabled/{appName}; sudo service nginx restart;
#https://blog.cloudboost.io/setting-up-an-https-sever-with-node-amazon-ec2-nginx-and-lets-encrypt-46f869159469
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment