diff --git a/hosts b/hosts index e90ea3c..da01929 100644 --- a/hosts +++ b/hosts @@ -1,5 +1,7 @@ 127.0.0.1 localhost 127.0.1.1 cybafelo +127.0.1.1 cybafelo.gamewheel.com +127.0.1.1 cybafelo.gamewheel.local # Gamewheel dev endpoints 127.0.1.1 3d-editor.gamewheel.com @@ -16,6 +18,7 @@ 127.0.1.1 tj-api.gamewheel.com 127.0.1.1 tj-cdn.gamewheel.com 127.0.1.1 mail.gamewheel.com +127.0.1.1 test.gamewheel.com # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback diff --git a/nginx/ports.conf b/nginx/conf.d/ports.conf similarity index 90% rename from nginx/ports.conf rename to nginx/conf.d/ports.conf index e045c39..cfb153e 100644 --- a/nginx/ports.conf +++ b/nginx/conf.d/ports.conf @@ -6,6 +6,10 @@ upstream 3d-racing { server 127.0.0.1:3102; } +upstream mail { + server 127.0.0.1:9024; +} + upstream 3d-editor { server 127.0.0.1:3103; } diff --git a/nginx/sites-available/api.conf b/nginx/sites-available/api.conf deleted file mode 100644 index 8dab824..0000000 --- a/nginx/sites-available/api.conf +++ /dev/null @@ -1,19 +0,0 @@ -#origin git@github.com:ToywheelDev/gamewheel-api.git -server { - listen 80; - - server_name tj-api.gamewheel.com; - - root /usr/share/gamewheel/api; - - location / { - 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; - proxy_pass http://api; - proxy_ssl_session_reuse off; - proxy_set_header Host $http_host; - proxy_redirect off; - } -} diff --git a/nginx/sites-available/app.conf b/nginx/sites-available/app.conf deleted file mode 100644 index aa8620f..0000000 --- a/nginx/sites-available/app.conf +++ /dev/null @@ -1,28 +0,0 @@ -#origin git@github.com:ToywheelDev/gamewheel-app.git -server { - listen 80; - - server_name tj-app.gamewheel.com; - - root /usr/share/gamewheel/app/dist; - - location ~ { - 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; - proxy_pass http://app; - proxy_ssl_session_reuse off; - proxy_set_header Host $http_host; - proxy_redirect off; - - # WebSocket support (nginx 1.4) - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - - # Path rewriting - rewrite /(.*) /$1 break; - proxy_redirect off; - } -} diff --git a/nginx/sites-available/cdn.conf b/nginx/sites-available/cdn.conf deleted file mode 100644 index bf0e12f..0000000 --- a/nginx/sites-available/cdn.conf +++ /dev/null @@ -1,14 +0,0 @@ -#origin git@github.com:ToywheelDev/gamewheel-cdn.git -server { - listen 80; - - server_name tj-cdn.gamewheel.com; - - root /usr/share/gamewheel/cdn; - - location / { - add_header Access-Control-Allow-Origin $http_origin; - autoindex on; - try_files $uri $uri/ 404; - } -} diff --git a/nginx/sites-available/default_server.conf b/nginx/sites-available/default_server.conf deleted file mode 100644 index 46df54a..0000000 --- a/nginx/sites-available/default_server.conf +++ /dev/null @@ -1,39 +0,0 @@ -server { - listen 80 default_server; - listen [::]:80 default_server ipv6only=on; - return 301 https://$host$request_uri; -} - -server { - listen 443 ssl default_server; - listen [::]:443 ssl default_server ipv6only=on; - - include /etc/nginx/ssl.conf; - - server_name ~^(?.*)\.gamewheel\.com$; - - add_header Access-Control-Allow-Origin $http_origin; - - location ~ { - autoindex on; - root /usr/share/gamewheel/$application; - try_files $uri $uri/ @node; - } - - location @node { - # WebSocket support - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - - # Normal parameters - 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; - proxy_pass http://$application; - proxy_ssl_session_reuse off; - proxy_set_header Host $http_host; - proxy_redirect off; - } -} \ No newline at end of file diff --git a/nginx/sites-available/gate.conf b/nginx/sites-available/gamewheel.conf similarity index 52% rename from nginx/sites-available/gate.conf rename to nginx/sites-available/gamewheel.conf index fe6a26e..00dab57 100644 --- a/nginx/sites-available/gate.conf +++ b/nginx/sites-available/gamewheel.conf @@ -8,11 +8,18 @@ server { listen 443 ssl default_server; listen [::]:443 ssl default_server ipv6only=on; - include /etc/nginx/ssl.conf; + include /etc/nginx/ssl/ssl.conf; - add_header Access-Control-Allow-Origin $http_origin; + server_name ~^(?[a-z0-9]*-)?(?[0-9a-z]+)\.(?.*); - location ~ { + location ~ { + root /usr/share/gamewheel/$app; + add_header Access-Control-Allow-Origin $http_origin; + autoindex on; + try_files $uri $uri/ @node; + } + + location @node { # WebSocket support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; @@ -23,9 +30,23 @@ server { 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; - proxy_pass http://gate; + + # Set Environment, App, and Domain + proxy_set_header X-Gamewheel-Env $environment; + proxy_set_header X-Gamewheel-App $app; + proxy_set_header X-Gamewheel-Host $host_domain; + + # Pass Everything to our app + proxy_pass http://$app; proxy_ssl_session_reuse off; proxy_set_header Host $http_host; proxy_redirect off; + + # If our app fails - we send it to gate + error_page 500 502 503 504 = @gate; + } + + location @gate { + proxy_pass http://gate; } -} \ No newline at end of file +} diff --git a/nginx/sites-available/mail.conf b/nginx/sites-available/mail.conf deleted file mode 100644 index 398794d..0000000 --- a/nginx/sites-available/mail.conf +++ /dev/null @@ -1,18 +0,0 @@ -#origin capto -server { - listen 80; - - tj-server_name mail.gamewheel.com; - - - location / { - 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; - proxy_pass http://127.0.0.1:9024; - proxy_ssl_session_reuse off; - proxy_set_header Host $http_host; - proxy_redirect off; - } -} diff --git a/nginx/sites-available/port-gamestate.conf b/nginx/sites-available/port-gamestate.conf deleted file mode 100644 index 3b6570a..0000000 --- a/nginx/sites-available/port-gamestate.conf +++ /dev/null @@ -1,32 +0,0 @@ -#origin git@github.com:ToywheelDev/gamewheel-port.git -server { - listen 80; - - server_name - tj-port.gamewheel.com - tj-gamestate.gamewheel.com; - - root /usr/share/gamewheel/port; - - location / { - - # redirect all HTTP traffic to userInterface1 - proxy_pass http://port; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-NginX-Proxy true; - - proxy_ssl_session_reuse off; - proxy_pass_request_headers on; - - # WebSocket support (nginx 1.4) - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - - # Path rewriting - #rewrite /(.*) /$1 break; - proxy_redirect off; - } -} diff --git a/nginx/certificate/gamewheel.com.crt b/nginx/ssl/gamewheel.com.crt similarity index 100% rename from nginx/certificate/gamewheel.com.crt rename to nginx/ssl/gamewheel.com.crt diff --git a/nginx/certificate/gamewheel.com.key b/nginx/ssl/gamewheel.com.key similarity index 100% rename from nginx/certificate/gamewheel.com.key rename to nginx/ssl/gamewheel.com.key diff --git a/nginx/ssl.conf b/nginx/ssl/ssl.conf similarity index 60% rename from nginx/ssl.conf rename to nginx/ssl/ssl.conf index 953976d..0719d12 100644 --- a/nginx/ssl.conf +++ b/nginx/ssl/ssl.conf @@ -1,5 +1,5 @@ - ssl_certificate ./certificate/gamewheel.com.crt; - ssl_certificate_key ./certificate/gamewheel.com.key; + ssl_certificate ssl/gamewheel.com.crt; + ssl_certificate_key ssl/gamewheel.com.key; ssl_session_timeout 5m; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";