Skip to content

Instantly share code, notes, and snippets.

@devig
Last active March 26, 2021 20:47
Show Gist options
  • Save devig/53c5e6ca80ced2f266e6d28146a86ba5 to your computer and use it in GitHub Desktop.
Save devig/53c5e6ca80ced2f266e6d28146a86ba5 to your computer and use it in GitHub Desktop.
Nginx
# $http_x_firebase
log_format postdata escape=json '$remote_addr $remote_user [$time_local] $request_time $request $status $body_bytes_sent $http_referer "$http_user_agent"'
' $request_body';
server {
listen 443 ssl http2;
server_name site.com;
access_log "/var/log/nginx/site.com_ssl-access.log" postdata;
error_log "/var/log/nginx/site.com_ssl-error.log" warn;
client_body_buffer_size 64k;
ssl_certificate /etc/letsencrypt/live/site.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/site.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
#proxy_set_header Host site.com;
proxy_pass http://localhost:8001/;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_set_header Accept-Encoding "";
sub_filter_once off;
sub_filter 'http://localhost:8001/' '$scheme://$host/';
sub_filter 'localhost:8001' '$host';
#sub_filter '<head>' '<head>\n<base href="site.com">';
}
# Custom directives
proxy_buffers 16 16k;
proxy_buffer_size 16k;
proxy_max_temp_file_size 0;
}
server {
listen 80;
server_name site.com www.site.com;
access_log "/var/log/nginx/site.com-access.log" combined;
error_log "/var/log/nginx/site.com-error.log" warn;
location / {
#rewrite ^(.*)$ https://site.com$1 permanent;
return 301 https://$server_name$request_uri; # enforce https
}
proxy_buffers 16 16k;
proxy_buffer_size 16k;
proxy_max_temp_file_size 0;
}
server {
root /var/www/html;
index index.html;
server_name sitename.tk www.sitename.tk;
location / {
try_files $uri $uri/ =404;
}
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/sitename.tk/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/sitename.tk/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
}
server {
if ($host = www.sitename.tk) {
return 301 https://$host$request_uri;
} # managed by Certbot
if ($host = sitename.tk) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
listen [::]:80;
server_name sitename.tk www.sitename.tk;
return 404; # managed by Certbot
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment