Files
srv-pub/cfg/ngx/fw.op.fo.conf
2025-10-29 03:28:43 -05:00

81 lines
2.1 KiB
Plaintext

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# configuration of fw.op.fo / frode klevstul / oct 2025
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# http to https
server {
listen 80;
server_name fw.op.fo;
return 301 https://$host$request_uri;
}
# hw to bare domain for https requests
#server {
# listen 443 ssl http2;
# listen [::]:443 ssl http2;
#
# ssl_certificate /etc/nginx/acme.sh/op.fo/fullchain.pem;
# ssl_certificate_key /etc/nginx/acme.sh/op.fo/key.pem;
# ssl_trusted_certificate /etc/nginx/acme.sh/op.fo/cert.pem;
#
# server_name hw.op.fo;
# return 301 $scheme://op.fo$request_uri;
#}
# upstream configuration for postgrest (used as reversed proxy)
upstream postgrest {
server localhost:3000;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
ssl_certificate /etc/nginx/acme.sh/op.fo/fullchain.pem;
ssl_certificate_key /etc/nginx/acme.sh/op.fo/key.pem;
ssl_trusted_certificate /etc/nginx/acme.sh/op.fo/cert.pem;
add_header Strict-Transport-Security "max-age=63072000" always;
root /var/www/fw.op.fo;
index index.html;
server_name fw.op.fo;
# redirect 404 not found to the root
#location / {
# error_page 404 = @myownredirect;
#}
location @myownredirect {
return 302 /;
}
# postgrest reverse proxy
location / {
error_page 404 = @myownredirect;
}
# support /string url style
location ~ ^/(\w+) {
# # make the response singular
# proxy_set_header Accept 'application/vnd.pgrst.object+json';
# assuming an upstream named "postgrest"
# proxy_pass http://postgrest/$1?id=eq.$2;
default_type application/json;
proxy_hide_header Content-Location;
add_header Content-Location /rpc/$upstream_http_content_location;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_pass http://postgrest/rpc/fwd?p_shortcode=$1;
#http://178.156.192.201:3000/rpc/fwd?p_shortcode=ph25&p_dbg=false
}
}