You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

134 lines
3.7 KiB

# http > https
server {
listen 80;
server_name completesentences.ikeafoundation.org ikea-foundation-week-2025.onc.dk;
root /home/ikea_foundation_2025/week_2025/public;
# Lets encrypt
location ~ /.well-known {
allow all;
}
location / {
return 301 https://completesentences.ikeafoundation.org$request_uri;
}
}
# # https
server {
listen 443 ssl;
http2 on;
server_name ikea-foundation-week-2025.onc.dk;
# keepalive_timeout 300;
keepalive_timeout 5;
client_max_body_size 4G;
ssl_certificate /etc/letsencrypt/live/ikea-foundation-week-2025.onc.dk/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/ikea-foundation-week-2025.onc.dk/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 / {
return 301 https://completesentences.ikeafoundation.org$request_uri;
}
}
# # http > https
# server {
# listen 80;
# server_name spotlinks.ikeafoundation.org;
#
# root /home/ikea_foundation_2025/week_2025/public;
#
# # Lets encrypt
# location ~ /.well-known {
# allow all;
# }
#
# location / {
# return 301 https://spotlinks.ikeafoundation.org$request_uri;
# }
# }
# Puma
upstream puma_ikea_25 {
server unix:///home/ikea_foundation_2025/week_2025/tmp/pids/puma.sock fail_timeout=0;
}
# https
server {
listen 443 ssl;
http2 on;
# server_name spotlinks.ikeafoundation.org;
server_name completesentences.ikeafoundation.org;
# keepalive_timeout 300;
keepalive_timeout 5;
client_max_body_size 4G;
# ssl_certificate /etc/letsencrypt/live/spotlinks.ikeafoundation.org/fullchain.pem; # managed by Certbot
# ssl_certificate_key /etc/letsencrypt/live/spotlinks.ikeafoundation.org/privkey.pem; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/completesentences.ikeafoundation.org/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/completesentences.ikeafoundation.org/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
access_log /home/ikea_foundation_2025/week_2025/log/httpd-access.log;
error_log /home/ikea_foundation_2025/week_2025/log/httpd-errors.log;
root /home/ikea_foundation_2025/week_2025/public;
# App server
location @puma_ikea_25 {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded_Proto $scheme;
proxy_redirect off;
proxy_pass http://puma_ikea_25;
}
# Serve static (compiled) assets directly if they exist (for rails production)
location ~ ^/(assets|packs|static)/ {
try_files $uri @puma_ikea_25;
access_log off;
gzip_static on;
expires max;
add_header Cache-Control public;
# Some browsers still send conditional-GET requests if there's a
# Last-Modified header or an ETag header even if they haven't
# reached the expiry date sent in the Expires header.
add_header Last-Modified "";
add_header ETag "";
break;
}
# location /cable {
# proxy_pass http://puma_ikea_25;
# proxy_http_version 1.1;
# proxy_set_header Upgrade $http_upgrade;
# proxy_set_header Connection 'upgrade';
# }
# Send non-static file requests to the app server
location / {
try_files $uri @puma_ikea_25;
}
# You can override error pages by redirecting the requests to a file in your
# application's public folder, if you so desire:
error_page 500 502 503 504 /500.html;
location = /500.html {
root /home/ikea_foundation_2025/week_2025/public;
}
}