diff --git a/devops/nginx/nginx.conf b/devops/nginx/nginx.conf new file mode 100644 index 0000000..d5d5af1 --- /dev/null +++ b/devops/nginx/nginx.conf @@ -0,0 +1,33 @@ +user nginx; +worker_processes 1; + +error_log /var/log/nginx/error.log warn; +pid /var/run/nginx.pid; + + +events { + worker_connections 10240; +} + + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + access_log off; + + sendfile on; + #tcp_nopush on; + + keepalive_timeout 65; + + gzip on; + gzip_min_length 1000; + + include /etc/nginx/conf.d/*.conf; + include /etc/nginx/sites/*; +} diff --git a/devops/nginx/sites/localtunnel b/devops/nginx/sites/localtunnel new file mode 100644 index 0000000..f50121a --- /dev/null +++ b/devops/nginx/sites/localtunnel @@ -0,0 +1,65 @@ +proxy_http_version 1.1; + +# http://nginx.org/en/docs/http/websocket.html +map $http_upgrade $connection_upgrade { + default upgrade; + '' close; +} + +upstream lt-server { + server 127.0.0.1:2000; +} + +server { + listen 80 default_server; + listen [::]:80 default_server ipv6only=on; + + server_name .localtunnel.me; + + location / { + proxy_pass http://lt-server/; + + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_set_header X-Forwarded-Proto http; + proxy_set_header X-NginX-Proxy true; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + + proxy_redirect off; + } +} + +server { + listen 443 default_server ssl spdy; + listen [::]:443 default_server ipv6only=on; + + server_name .localtuunel.me; + + ssl on; + + ssl_certificate /etc/nginx/ssl/STAR.localtunnel.me.crt; + ssl_certificate_key /etc/nginx/ssl/STAR.localtunnel.me.key; + + ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers RC4:HIGH:!aNULL:!MD5; + ssl_prefer_server_ciphers on; + + ssl_session_cache shared:SSL:10m; + ssl_session_timeout 10m; + + location / { + proxy_pass http://lt-server/; + + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_set_header X-Forwarded-Proto https; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header X-NginX-Proxy true; + proxy_set_header Connection $connection_upgrade; + + proxy_redirect off; + } +} diff --git a/devops/run.sh b/devops/run.sh new file mode 100644 index 0000000..3a671d4 --- /dev/null +++ b/devops/run.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +docker run --restart always --name localtunnel -d --net host defunctzombie/localtunnel-server:0.0.5 bin/server --secure --port 2000 + +docker run --restart always --name nginx -d --net host -v /home/core/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/core/nginx/sites:/etc/nginx/sites -v /home/core/nginx/ssl:/etc/nginx/ssl nginx:1.7.8 diff --git a/nginx.conf b/nginx.conf deleted file mode 100644 index e3e83ab..0000000 --- a/nginx.conf +++ /dev/null @@ -1,65 +0,0 @@ -proxy_http_version 1.1; - -# http://nginx.org/en/docs/http/websocket.html -map $http_upgrade $connection_upgrade { - default upgrade; - '' close; -} - -upstream lt-server { - server 127.0.0.1:8000; -} - -server { - listen 80 default_server; - listen [::]:80 default_server ipv6only=on; - - server_name .localtunnel.me; - - location / { - proxy_pass http://lt-server/; - - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $http_host; - proxy_set_header X-Forwarded-Proto http; - proxy_set_header X-NginX-Proxy true; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection $connection_upgrade; - - proxy_redirect off; - } -} - -server { - listen 443 default_server ssl spdy; - listen [::]:443 default_server ipv6only=on; - - server_name .localtuunel.me; - - ssl on; - - ssl_certificate ...; - ssl_certificate_key ...; - - ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers RC4:HIGH:!aNULL:!MD5; - ssl_prefer_server_ciphers on; - - ssl_session_cache shared:SSL:10m; - ssl_session_timeout 10m; - - location / { - proxy_pass http://lt-server/; - - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $http_host; - proxy_set_header X-Forwarded-Proto https; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header X-NginX-Proxy true; - proxy_set_header Connection $connection_upgrade; - - proxy_redirect off; - } -}