mirror of
https://gitlab.archlinux.org/archlinux/infrastructure.git
synced 2025-01-18 08:06:16 +01:00
As the queries for searching are the most 'heavy' queries we can disallow bots to scrape through all search results. Archweb uses the same robots.txt rules for disallowing indexing search results.
96 lines
2.8 KiB
Django/Jinja
96 lines
2.8 KiB
Django/Jinja
upstream aurweb {
|
|
server unix://{{ aurweb_socket }};
|
|
}
|
|
|
|
upstream cgit {
|
|
server unix://{{ cgit_socket }};
|
|
}
|
|
|
|
upstream smartgit {
|
|
server unix://{{ smartgit_socket }};
|
|
}
|
|
|
|
server {
|
|
listen 80;
|
|
listen [::]:80;
|
|
server_name {{ aurweb_domain }};
|
|
|
|
access_log /var/log/nginx/{{ aurweb_domain }}/access.log main;
|
|
error_log /var/log/nginx/{{ aurweb_domain }}/error.log;
|
|
|
|
include snippets/letsencrypt.conf;
|
|
|
|
location / {
|
|
rewrite ^(.*) https://{{ aurweb_domain }}$1 permanent;
|
|
}
|
|
}
|
|
|
|
server {
|
|
listen 443 ssl http2;
|
|
listen [::]:443 ssl http2;
|
|
server_name {{ aurweb_domain }};
|
|
|
|
access_log /var/log/nginx/{{ aurweb_domain }}/access.log main;
|
|
error_log /var/log/nginx/{{ aurweb_domain }}/error.log;
|
|
|
|
ssl_certificate /etc/letsencrypt/live/{{ aurweb_domain }}/fullchain.pem;
|
|
ssl_certificate_key /etc/letsencrypt/live/{{ aurweb_domain }}/privkey.pem;
|
|
ssl_trusted_certificate /etc/letsencrypt/live/{{ aurweb_domain }}/chain.pem;
|
|
|
|
root {{ aurweb_dir }}/web/html;
|
|
index index.php;
|
|
|
|
location /robots.txt {
|
|
alias {{ aurweb_dir }}/robots.txt
|
|
}
|
|
|
|
location ~ ^/trusted-user/ {
|
|
break;
|
|
}
|
|
|
|
location ~ "^/([a-z0-9][a-z0-9.+_-]*?)(\.git)?/(git-(receive|upload)-pack|HEAD|info/refs|objects/(info/(http-)?alternates|packs)|[0-9a-f]{2}/[0-9a-f]{38}|pack/pack-[0-9a-f]{40}\.(pack|idx))$" {
|
|
include uwsgi_params;
|
|
uwsgi_pass smartgit;
|
|
uwsgi_modifier1 9;
|
|
uwsgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend;
|
|
uwsgi_param PATH_INFO /aur.git/$3;
|
|
uwsgi_param GIT_HTTP_EXPORT_ALL "";
|
|
uwsgi_param GIT_NAMESPACE $1;
|
|
uwsgi_param GIT_PROJECT_ROOT {{ aurweb_dir }};
|
|
}
|
|
|
|
location ~ ^/cgit {
|
|
include uwsgi_params;
|
|
rewrite ^/cgit/([^?/]+/[^?]*)?(?:\?(.*))?$ /cgit.cgi?url=$1&$2 last;
|
|
uwsgi_modifier1 9;
|
|
uwsgi_param CGIT_CONFIG {{ aurweb_conf_dir }}/cgitrc;
|
|
uwsgi_pass cgit;
|
|
}
|
|
|
|
location ~ ^/[^/]+\.php($|/) {
|
|
fastcgi_pass aurweb;
|
|
fastcgi_index index.php;
|
|
fastcgi_split_path_info ^(/[^/]+\.php)(/.*)$;
|
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
|
fastcgi_param PATH_INFO $fastcgi_path_info;
|
|
fastcgi_param HTTPS on;
|
|
include fastcgi_params;
|
|
|
|
# Cache PHP Requests
|
|
#fastcgi_cache aur;
|
|
#fastcgi_cache_valid 200 5m;
|
|
#add_header X-Cache $upstream_cache_status;
|
|
|
|
# Required for caching to work
|
|
#fastcgi_ignore_headers "Cache-Control" "Expires" "Set-Cookie";
|
|
|
|
# Only apply cache when set
|
|
#fastcgi_cache_bypass $no_cache;
|
|
#fastcgi_no_cache $no_cache;
|
|
}
|
|
|
|
location ~ .* {
|
|
rewrite ^/(.*)$ /index.php/$1 last;
|
|
}
|
|
}
|