Compare commits
No commits in common. 'nginx-stream' and 'master' have entirely different histories.
nginx-stre
...
master
@ -1,17 +0,0 @@ |
||||
FROM nginx:alpine |
||||
|
||||
ENV HTTPS_UPSTREAM="proxy" |
||||
ENV SSTP_UPSTREAM="sstp" |
||||
ENV SNI_NAME="cloud.bearns.me" |
||||
# self signed for client certification |
||||
# put in /etc/nginx/certs/ |
||||
ENV CA_CERT="chain.pem" |
||||
# put in /etc/nginx/certs/$SNI_NAME |
||||
ENV CERT="fullchain.pem" |
||||
ENV KEY="key.pem" |
||||
|
||||
RUN rm -f /etc/nginx/conf.d/default.conf |
||||
|
||||
COPY nginx.conf /etc/nginx/ |
||||
COPY *.conf.template /etc/nginx/templates/ |
||||
|
@ -1,37 +0,0 @@ |
||||
http { |
||||
|
||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' |
||||
'$status $body_bytes_sent "$http_referer" ' |
||||
'"$http_user_agent" "$http_x_forwarded_for"'; |
||||
|
||||
server { |
||||
listen unix:/tmp/fallback-stream.socket ssl proxy_protocol; |
||||
server_name _; |
||||
|
||||
ssl_certificate /etc/nginx/certs/${SNI_NAME}/${CERT}; |
||||
ssl_certificate_key /etc/nginx/certs/${SNI_NAME}/${KEY}; |
||||
|
||||
access_log /dev/stdout main; |
||||
|
||||
location / { |
||||
root /usr/share/nginx/html; |
||||
index index.html index.htm; |
||||
} |
||||
|
||||
#error_page 404 /404.html; |
||||
|
||||
# redirect server error pages to the static page /50x.html |
||||
# |
||||
error_page 500 502 503 504 /50x.html; |
||||
location = /50x.html { |
||||
root /usr/share/nginx/html; |
||||
} |
||||
|
||||
# deny access to .htaccess files, if Apache's document root |
||||
# concurs with nginx's one |
||||
# |
||||
#location ~ /\.ht { |
||||
# deny all; |
||||
#} |
||||
} |
||||
} |
@ -1,12 +0,0 @@ |
||||
user nginx; |
||||
worker_processes auto; |
||||
|
||||
error_log /var/log/nginx/error.log notice; |
||||
pid /var/run/nginx.pid; |
||||
|
||||
|
||||
events { |
||||
worker_connections 1024; |
||||
} |
||||
|
||||
include /etc/nginx/conf.d/*.conf; |
@ -1,61 +0,0 @@ |
||||
error_log /dev/stderr; |
||||
|
||||
stream { |
||||
log_format stream '"$ssl_preread_server_name" $remote_addr [$time_local] ' |
||||
'$protocol $status $bytes_sent $bytes_received "$upstream_addr" ' |
||||
'"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"'; |
||||
|
||||
map $ssl_preread_server_name $sni_name { |
||||
${SNI_NAME} cert-check; |
||||
default https; |
||||
} |
||||
|
||||
upstream https { |
||||
server ${HTTPS_UPSTREAM}:443; |
||||
} |
||||
|
||||
upstream cert-check { |
||||
server unix:/tmp/virtual-stream.socket; |
||||
} |
||||
|
||||
server { |
||||
listen 443; |
||||
listen [::]:443; |
||||
|
||||
access_log /dev/stdout stream; |
||||
|
||||
proxy_pass $sni_name; |
||||
ssl_preread on; |
||||
# todo nginx-proxy by default don't listen proxy_protocol, enable it in both sides |
||||
#proxy_protocol on; |
||||
} |
||||
|
||||
map $ssl_client_verify $name { |
||||
SUCCESS sstp; |
||||
default fallback; |
||||
} |
||||
|
||||
upstream sstp { |
||||
server ${SSTP_UPSTREAM}:443; |
||||
} |
||||
|
||||
upstream fallback { |
||||
server unix:/tmp/fallback-stream.socket; |
||||
} |
||||
|
||||
server { |
||||
listen unix:/tmp/virtual-stream.socket ssl; |
||||
|
||||
ssl_certificate /etc/nginx/certs/${SNI_NAME}/${CERT}; |
||||
ssl_certificate_key /etc/nginx/certs/${SNI_NAME}/${KEY}; |
||||
|
||||
ssl_trusted_certificate /etc/nginx/certs/${CA_CERT}; |
||||
ssl_verify_client optional; |
||||
|
||||
# Doesn't work without it |
||||
proxy_ssl on; |
||||
|
||||
proxy_pass $name; |
||||
proxy_protocol on; |
||||
} |
||||
} |
@ -1,7 +0,0 @@ |
||||
server { |
||||
listen 443 ssl; |
||||
server_name _; |
||||
ssl_certificate /etc/nginx/certs/cert.pem; |
||||
ssl_certificate_key /etc/nginx/certs/privkey.pem; |
||||
return 404; |
||||
} |
@ -1,3 +0,0 @@ |
||||
FROM nginx:alpine |
||||
|
||||
COPY 00-default.conf /etc/nginx/conf.d/ |
Loading…
Reference in new issue