map $http_host $robots_disallow { hostnames; default "/"; example.com ""; } server { listen 80 default_server; server_name .example.com; if ($http_x_forwarded_proto = "http") { rewrite ^(.*)$ https://$host$1 permanent; } root /srv/journal/web; ## for accessing it with Selenium include /etc/nginx/traits.d/norobots.conf; location ~ \..*/.*\.php$ { return 403; } location / { try_files $uri /app_baseline.php$is_args$query_string; } location ~ ^/app_baseline\.php(/|$) { fastcgi_split_path_info ^(.+\.php)(/.+)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_param DOCUMENT_ROOT $realpath_root; fastcgi_param ENVIRONMENT_NAME baseline; fastcgi_pass unix:/var/php-fpm.sock; internal; } location ~ /app_.*.php$ { return 404; } location /assets { add_header Cache-Control "public, max-age=31536000, immutable"; } location = /rss/recent.xml { proxy_pass http://prod--observer.elifesciences.org/report/latest-articles.rss; proxy_connect_timeout 5s; proxy_read_timeout 30s; } location = /rss/ahead.xml { proxy_pass http://prod--observer.elifesciences.org/report/upcoming-articles.rss; proxy_connect_timeout 5s; proxy_read_timeout 30s; } access_log /var/log/nginx/journal.access.log combined_with_time; error_log /var/log/nginx/journal.error.log notice; include /etc/nginx/traits.d/error-pages.conf; }