Compare commits

...

2 Commits

Author SHA1 Message Date
295149d883
Add nginx server on feed interface. 2023-01-20 22:58:12 -05:00
fb224b361e
Separate interfaces and DNS updates. 2023-01-20 22:57:55 -05:00
3 changed files with 171 additions and 64 deletions

View File

@ -1,7 +1,9 @@
ServerName othostash.com
ServerRoot /usr/local
ServerRoot "/usr/local" Listen [2603:3015:1003:566d::dad:db]:80
Listen [2603:3015:1003:566d::dad:db]:443
Listen 443 Listen 10.1.9.10:443
LoadModule mpm_prefork_module libexec/apache24/mod_mpm_prefork.so LoadModule mpm_prefork_module libexec/apache24/mod_mpm_prefork.so
LoadModule authn_file_module libexec/apache24/mod_authn_file.so LoadModule authn_file_module libexec/apache24/mod_authn_file.so
@ -49,9 +51,20 @@ Group www
Require all denied Require all denied
</Directory> </Directory>
MDomain othostash.com MDCertificateAgreement accepted
MDContactEmail admin@othostash.com
MDomain othostash.com www.othostash.com
#<VirtualHost 10.1.9.10:443> # <VirtualHost [2603:3015:1003:566d::dad:feed]:443>
# ServerName "plex.othostash.com"
# SSLEngine on
# ProxyPass "/" "http://localhost:32400"
# ProxyPassReverse "/" "http://localhost:32400"
# </VirtualHost>
<VirtualHost 10.1.9.10:443 [2603:3015:1003:566d::dad:db]:443>
ServerName "www.othostash.com"
ServerName "othostash.com"
<Location "/md-status"> <Location "/md-status">
SetHandler md-status SetHandler md-status
@ -80,8 +93,8 @@ DocumentRoot "/data"
</IfModule> </IfModule>
SSLEngine on SSLEngine on
SSLCertificateFile /usr/local/etc/apache24/fullchain.pem # SSLCertificateFile /usr/local/etc/apache24/fullchain.pem
SSLCertificateKeyFile /usr/local/etc/apache24/privkey.pem # SSLCertificateKeyFile /usr/local/etc/apache24/privkey.pem
ErrorLog "/var/log/httpd-error.log" ErrorLog "/var/log/httpd-error.log"
LogLevel warn LogLevel warn
@ -118,6 +131,8 @@ LogLevel warn
AddType application/x-gzip .gz .tgz AddType application/x-gzip .gz .tgz
</IfModule> </IfModule>
</VirtualHost>
<IfModule ssl_module> <IfModule ssl_module>
SSLRandomSeed startup builtin SSLRandomSeed startup builtin
SSLRandomSeed connect builtin SSLRandomSeed connect builtin

37
dns.tf
View File

@ -18,22 +18,47 @@ terraform {
provider "namecheap" {} provider "namecheap" {}
variable "stashbox-vip" { variable "network" {
type = string type = string
default = "stashbox.delhi.o4data.net." default = "2603:3015:1003:566d"
}
variable "ipv4" {
type = string
default = "96.78.236.124"
} }
resource "namecheap_domain_records" "othostash" { resource "namecheap_domain_records" "othostash" {
domain = "othostash.com" domain = "othostash.com"
record { record {
hostname = "@" hostname = "@"
address = var.stashbox-vip address = "${var.network}::dad:db"
type = "ALIAS" type = "AAAA"
ttl = 300 }
record {
hostname = "feed"
address = "${var.network}::dad:feed"
type = "AAAA"
} }
record { record {
hostname = "www" hostname = "www"
address = "othostash.com." address = "othostash.com"
type = "CNAME" type = "CNAME"
} }
record {
hostname = "plex"
address = "feed.othostash.com"
type = "CNAME"
}
record {
hostname = "@"
address = var.ipv4
type = "A"
}
record {
hostname = "feed"
address = var.ipv4
type = "A"
}
} }

67
nginx/nginx.conf Normal file
View File

@ -0,0 +1,67 @@
#user nobody;
worker_processes auto;
# This default error log path is compiled-in to make sure configuration parsing
# errors are logged somewhere, especially during unattended boot when stderr
# isn't normally logged anywhere. This path will be touched on every nginx
# start regardless of error log location configured here. See
# https://trac.nginx.org/nginx/ticket/147 for more info.
#
#error_log /var/log/nginx/error.log;
#
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
upstream plex_backend {
server [::1]:32400; # replace 'plex' with the name you gave to your plex container if necessary!
keepalive 32;
}
server {
listen [2603:3015:1003:566d::dad:feed]:80;
listen 10.1.9.10:80;
resolver [2603:3015:1003:5661::cede];
server_name plex.othostash.com;
gzip on;
gzip_vary on;
gzip_min_length 1000;
gzip_proxied any;
gzip_types text/plain text/css text/xml application/xml text/javascript application/x-javascript image/svg+xml;
gzip_disable "MSIE [1-6]\.";
# Forward real ip and host to Plex
proxy_set_header Host $host;
proxy_set_header Referer localhost;
proxy_set_header Origin $scheme://localhost:$server_port;
proxy_set_header X-Real-IP $remote_addr;
#When using ngx_http_realip_module change $proxy_add_x_forwarded_for to '$http_x_forwarded_for,$realip_remote_addr'
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Sec-WebSocket-Extensions $http_sec_websocket_extensions;
proxy_set_header Sec-WebSocket-Key $http_sec_websocket_key;
proxy_set_header Sec-WebSocket-Version $http_sec_websocket_version;
proxy_set_header Accept-Encoding "";
# Websockets
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
# Buffering off send to the client as soon as the data is received from Plex.
proxy_redirect off;
proxy_buffering off;
location / {
proxy_pass http://plex_backend;
}
}
}