r3-config/nginx/sites-available/api.r3js.org.conf

62 lines
1.6 KiB
Plaintext

upstream node-api {
server 127.0.0.1:3104;
}
server {
listen 80;
listen [::]:80;
server_name api.r3js.org;
return 301 https://api.r3js.org$request_uri;
}
server {
listen 443 ssl;
listen [::]:443;
server_name api.r3js.org;
ssl_certificate /etc/letsencrypt/live/api.r3js.org/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/api.r3js.org/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
root /usr/share/r3-server/live/api.r3js.org/webroot;
access_log /var/log/api.r3js.org/access.log;
error_log /var/log/api.r3js.org/error.log;
add_header Access-Control-Allow-Origin '*' always;
add_header Access-Control-Allow-Methods 'POST, GET, OPTIONS' always;
add_header Access-Control-Allow-Headers 'Cache-Control,Content-Type' always;
add_header Content-Type 'application/json' always;
add_header X-Content-Type-Options: 'nosniff' always;
if ($request_method = OPTIONS) {
return 200;
}
location ~ {
try_files $uri $uri/ @node;
}
location @node {
proxy_pass_request_headers on;
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;
add_header Access-Control-Allow-Origin '*' always;
add_header Access-Control-Allow-Methods 'POST, GET, OPTIONS' always;
add_header Access-Control-Allow-Headers 'Cache-Control,Content-Type' always;
add_header Content-Type 'application/json' always;
add_header X-Content-Type-Options: 'nosniff' always;
proxy_pass http://node-api$request_uri;
}
}