Skip to content

Commit

Permalink
basic webserver
Browse files Browse the repository at this point in the history
  • Loading branch information
traceypooh committed Dec 21, 2023
1 parent 7b51cd7 commit 02f80fa
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 0 deletions.
11 changes: 11 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
FROM nginx:alpine

WORKDIR /usr/share/nginx/html

RUN rm -f index.html && \
# xxx not great for files that dont end like: .js.gz .wasm.gz
sed -i 's/js;/js gz;/' /etc/nginx/mime.types

COPY default.conf /etc/nginx/conf.d/

COPY . .
47 changes: 47 additions & 0 deletions default.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
server {
listen 80;
server_name localhost;

# enable gzip compression of simple text files when transmitting to clients
# that can handle gzip/deflate responses.
# do not gzip json files because range requests to .json files made by browser js
# applications like archive.org/details/webshots-freeze-frame-index get whole object,
# not the range
gzip on;
gzip_types "text/html; charset=utf-8" text/html text/plain text/javascript application/x-javascript application/javascript text/css text/csv text/xml application/xml;

# add charset info to Content-Type header for text files
# by default, will apply to files with the following mime types:
# text/(plain|html|xml|vnd.wap.wml), application/(javascript|rss+xml)
# if we wish to apply it to additional mime types (say, application/json), we can add a charset_types directive
# see https://nginx.org/en/docs/http/ngx_http_charset_module.html for more details
charset utf-8;

location / {
root /usr/share/nginx/html;
index index.html index.htm;

# customizations:
autoindex on;
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
add_header Access-Control-Allow-Headers Accept-Encoding,Accept-Language,Authorization,Cache-Control,Content-Length,Content-Range,DNT,Pragma,Range,X-Requested-With;
add_header Vary Origin;
}

# customization - like above but with `Content-Encoding` header
location ~\.(js|wasm)\.gz$ {
root /usr/share/nginx/html;
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
add_header Access-Control-Allow-Headers Accept-Encoding,Accept-Language,Authorization,Cache-Control,Content-Length,Content-Range,DNT,Pragma,Range,X-Requested-With;
add_header Vary Origin;

add_header Content-Encoding gzip;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}

0 comments on commit 02f80fa

Please sign in to comment.