commit 7810b756c4946c93c4a4e8bf2739f9387a3ce0b5 Author: Vahagn Khachatryan Date: Sun Feb 11 23:09:37 2024 +0000 nginx configs diff --git a/nginx/default b/nginx/default new file mode 100644 index 0000000..90ff2ff --- /dev/null +++ b/nginx/default @@ -0,0 +1,42 @@ +## +# You should look at the following URL's in order to grasp a solid understanding +# of Nginx configuration files in order to fully unleash the power of Nginx. +# https://www.nginx.com/resources/wiki/start/ +# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/ +# https://wiki.debian.org/Nginx/DirectoryStructure +# +# In most cases, administrators will remove this file from sites-enabled/ and +# leave it as reference inside of sites-available where it will continue to be +# updated by the nginx packaging team. +# +# This file will automatically load configuration files provided by other +# applications, such as Drupal or Wordpress. These applications will be made +# available underneath a path with that package name, such as /drupal8. +# +# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples. +## + +# Default server configuration +# +server { + listen 80 default_server; + listen [::]:80 default_server; + + # SSL configuration + # + listen 443 ssl default_server; + listen [::]:443 ssl default_server; + ssl_certificate /etc/letsencrypt/live/drive.vostan.org/fullchain.pem; # managed by Certbot + ssl_certificate_key /etc/letsencrypt/live/drive.vostan.org/privkey.pem; # managed by Certbot + return 301 https://www.vostan.org$request_uri; + # + # Note: You should disable gzip for SSL traffic. + # See: https://bugs.debian.org/773332 + # + # Read up on ssl_ciphers to ensure a secure configuration. + # See: https://bugs.debian.org/765782 + # + server_name _; + return 404; +} + diff --git a/nginx/drive.vostan.org b/nginx/drive.vostan.org new file mode 100644 index 0000000..a11bcc8 --- /dev/null +++ b/nginx/drive.vostan.org @@ -0,0 +1,61 @@ +## +# You should look at the following URL's in order to grasp a solid understanding of Nginx configuration files in order to fully unleash the power of Nginx. +# https://www.nginx.com/resources/wiki/start/ https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/ https://wiki.debian.org/Nginx/DirectoryStructure +# +# In most cases, administrators will remove this file from sites-enabled/ and +# leave it as reference inside of sites-available where it will continue to be +# updated by the nginx packaging team. +# +# This file will automatically load configuration files provided by other +# applications, such as Drupal or Wordpress. These applications will be made +# available underneath a path with that package name, such as /drupal8. +# +# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples. +## + +# enforce https +server { + if ($host = drive.vostan.org) { + return 301 https://$host$request_uri; + } # managed by Certbot + + + listen 80; + listen [::]:80; + server_name drive.vostan.org; + return 404; # managed by Certbot +} + +server { + # SSL configuration + # + listen 443 ssl http2; + listen [::]:443 ssl http2; + ssl on; + ssl_certificate /etc/letsencrypt/live/www.vostan.org-0001/fullchain.pem; # managed by Certbot + ssl_certificate_key /etc/letsencrypt/live/www.vostan.org-0001/privkey.pem; # managed by Certbot + server_name drive.vostan.org; + + + # + set $upstream 192.168.0.4; + location / { + proxy_pass_header Authorization; + proxy_pass http://$upstream:8090; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_http_version 1.1; + proxy_set_header Connection ""; + proxy_buffering off; + client_max_body_size 0; + proxy_read_timeout 36000s; + proxy_redirect off; + } + + + + + + +} diff --git a/nginx/private.vostan.org b/nginx/private.vostan.org new file mode 100644 index 0000000..53119f8 --- /dev/null +++ b/nginx/private.vostan.org @@ -0,0 +1,83 @@ +## +# You should look at the following URL's in order to grasp a solid understanding +# of Nginx configuration files in order to fully unleash the power of Nginx. +# https://www.nginx.com/resources/wiki/start/ +# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/ +# https://wiki.debian.org/Nginx/DirectoryStructure +# +# In most cases, administrators will remove this file from sites-enabled/ and +# leave it as reference inside of sites-available where it will continue to be +# updated by the nginx packaging team. +# +# This file will automatically load configuration files provided by other +# applications, such as Drupal or Wordpress. These applications will be made +# available underneath a path with that package name, such as /drupal8. +# +# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples. +## + +# enforce https +server { + if ($host = private.vostan.org) { + return 301 https://$host$request_uri; + } # managed by Certbot + + listen 80; + listen [::]:80; + server_name private.vostan.org; + return 404; # managed by Certbot +} + +# Default server configuration +# +server { + # SSL configuration + # + listen 443 ssl http2; + listen [::]:443 ssl http2; + ssl on; + ssl_certificate /etc/letsencrypt/live/www.vostan.org/fullchain.pem; # managed by Certbot + ssl_certificate_key /etc/letsencrypt/live/www.vostan.org/privkey.pem; # managed by Certbot + server_name private.vostan.org; + # + # Note: You should disable gzip for SSL traffic. + # See: https://bugs.debian.org/773332 + # + # Read up on ssl_ciphers to ensure a secure configuration. + # See: https://bugs.debian.org/765782 + # + + location / { + try_files $uri @private_flask_server; + } + + location @private_flask_server { + include uwsgi_params; + uwsgi_pass unix:/run/uwsgi/private-vostan-org.sock; + } + + + + + + + + + + + + + + + + + + + + + + + + +} + diff --git a/nginx/www.vostan.org b/nginx/www.vostan.org new file mode 100644 index 0000000..24b3cea --- /dev/null +++ b/nginx/www.vostan.org @@ -0,0 +1,84 @@ +## +# You should look at the following URL's in order to grasp a solid understanding +# of Nginx configuration files in order to fully unleash the power of Nginx. +# https://www.nginx.com/resources/wiki/start/ +# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/ +# https://wiki.debian.org/Nginx/DirectoryStructure +# +# In most cases, administrators will remove this file from sites-enabled/ and +# leave it as reference inside of sites-available where it will continue to be +# updated by the nginx packaging team. +# +# This file will automatically load configuration files provided by other +# applications, such as Drupal or Wordpress. These applications will be made +# available underneath a path with that package name, such as /drupal8. +# +# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples. +## + +# enforce https +server { + if ($host = www.vostan.org) { + return 301 https://$host$request_uri; + } # managed by Certbot + + listen 80; + listen [::]:80; + server_name www.vostan.org; + return 404; # managed by Certbot +} + +server { + # SSL configuration + # + listen 443 ssl http2; + listen [::]:443 ssl http2; + ssl on; + ssl_certificate /etc/letsencrypt/live/www.vostan.org-0001/fullchain.pem; # managed by Certbot + ssl_certificate_key /etc/letsencrypt/live/www.vostan.org-0001/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 + # + # Note: You should disable gzip for SSL traffic. + # See: https://bugs.debian.org/773332 + # + # Read up on ssl_ciphers to ensure a secure configuration. + # See: https://bugs.debian.org/765782 + # + + root /var/www/public/site; + + # Add index.php to the list if you are using PHP + index index.html index.htm index.nginx-debian.html; + + server_name www.vostan.org; + + location / { + # First attempt to serve request as file, then + # as directory, then fall back to displaying a 404. + try_files $uri $uri/ =404; + } + + # + #location ~ \.php$ { + # include snippets/fastcgi-php.conf; + # + # # With php-fpm (or other unix sockets): + # fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; + # # With php-cgi (or other tcp sockets): + # fastcgi_pass 127.0.0.1:9000; + #} + + # deny access to .htaccess files, if Apache's document root + # concurs with nginx's one + # + #location ~ /\.ht { + # deny all; + #} + + + + + +} +