modified nginx default conf file
+ added openssl in nginx site conf file + reorganized readme
This commit is contained in:
@@ -1,7 +1,13 @@
|
||||
FROM debian:buster
|
||||
|
||||
RUN apt update && apt install -y nginx
|
||||
RUN apt update && apt install -y nginx openssl
|
||||
|
||||
# create ssl certificate
|
||||
RUN openssl req -newkey rsa:2048 -nodes -x509 \
|
||||
-keyout /etc/nginx/cert/hulamy.42.fr.key -out /etc/nginx/cert/hulamy.42.fr.crt \
|
||||
-subj "/C=fr/ST=ile-de-france/L=paris/O=42/OU=inception/CN=hulamy.42.fr"
|
||||
|
||||
# import sites conf files
|
||||
COPY ./conf/nginx.conf /etc/nginx/
|
||||
COPY ./conf/inception_nginx.conf /etc/nginx/conf.d/
|
||||
|
||||
@@ -12,6 +18,35 @@ COPY ./conf/salade.jpeg /data/images/
|
||||
CMD [ "nginx", "-g", "daemon off;" ]
|
||||
|
||||
|
||||
#
|
||||
# -g 'daemon off' :
|
||||
# daemon off, to avoid the main process of nginx to quit after creating its childs, and therefore make docker exit
|
||||
# https://stackoverflow.com/questions/18861300/how-to-run-nginx-within-a-docker-container-without-halting
|
||||
# daemon off, to avoid the main process of nginx to quit after creating its childs, and therefore make docker exit
|
||||
# https://stackoverflow.com/questions/18861300/how-to-run-nginx-within-a-docker-container-without-halting
|
||||
#
|
||||
# ssl certificate :
|
||||
# openssl faq : https://www.openssl.org/docs/faq.html
|
||||
# openssl req : create ertificate request, and optionally create self signed certificates
|
||||
# openssl req man : https://www.openssl.org/docs/man1.0.2/man1/openssl-req.html
|
||||
# exemple of openssl with nginx on docker : https://www.johnmackenzie.co.uk/posts/using-self-signed-ssl-certificates-with-docker-and-nginx/
|
||||
#
|
||||
# usually the steps are :
|
||||
# - create a server private key : `openssl genrsa -out server.key 2048`
|
||||
# - create a CSR (certificate signing request) with the key : `openssl req -new -key server.key -out www.exemple.com.csr`
|
||||
# - it will ask for :
|
||||
# - Country Name (2 letter code)
|
||||
# - State or Province Name (full name)
|
||||
# - Locality Name (eg, city)
|
||||
# - Organization Name (eg, company)
|
||||
# - Organizational Unit Name (eg, section)
|
||||
# - Common Name (eg, fully qualified host name)
|
||||
# - Email Address (put nothing)
|
||||
# - now ask to a CA (certificate authority) for a certificate.crt by giving them your request.csr
|
||||
#
|
||||
# alternatively we can generate our self-signed certificate with the `openssl req` command :
|
||||
# - `x509` option is used to output a certificate instead of a certificate request
|
||||
# - a request is created from scratch, if it is not given with `-in`
|
||||
# - `newkey` generate a new private key, unless `-key` is given
|
||||
# - `nodes` create a private key without encryption (no passphrase needed)
|
||||
#
|
||||
# SO discussion about becomming a real CA to have a certificate that works in deployement : https://stackoverflow.com/questions/10175812/how-to-generate-a-self-signed-ssl-certificate-using-openssl
|
||||
|
||||
|
||||
@@ -1,13 +1,24 @@
|
||||
server {
|
||||
# http uses port 80, and https uses port 443
|
||||
listen 443 ssl; # for ipv4.
|
||||
listen [::]:443 ssl; # for ipv6.
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name localhost;
|
||||
location / { root /data/www; }
|
||||
location /images/ { root /data; }
|
||||
}
|
||||
|
||||
server {
|
||||
listen 443 ssl; # for ipv4, on port 443, specifying that accepted connections should works in ssl mode
|
||||
listen [::]:443 ssl; # for ipv6
|
||||
server_name hulamy.42.fr;
|
||||
ssl_certificate /etc/nginx/cert/hulamy.42.fr.crt # specifies the file with the ssl certificate (self signed here) generated by openssl
|
||||
ssl_certificate-key /etc/nginx/cert/hulamy.42.fr.key # specifies the file with the secret key of the certificate
|
||||
|
||||
root /var/www/html; # contains default nginx index.nginx-debian.html
|
||||
index index.html index.htm index.nginx-debian.html index.php; # defines files that will be used as index (https://nginx.org/en/docs/http/ngx_http_index_module.html)
|
||||
|
||||
server_name localhost;
|
||||
location / {
|
||||
try_files $uri $uri/ =404; # from /etc/nginx/sites-enabled/default : First attempt to serve request as file, then as directory, then fall back to displaying a 404
|
||||
# test
|
||||
root /data/www;
|
||||
}
|
||||
location /images/ {
|
||||
root /data;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
hello world !
|
||||
you are on http connection, on port 80, on localhost
|
||||
|
||||
@@ -46,7 +46,7 @@ http { # section for http server directives
|
||||
# Gzip Settings
|
||||
##
|
||||
|
||||
gzip on; # enable gzipping of responses. gzip is an algorithm that compress the data
|
||||
gzip off; # enable gzipping of responses. gzip is an algorithm that compress the data (disabled for security reasons : https://bugs.debian.org/773332)
|
||||
|
||||
# gzip_vary on;
|
||||
# gzip_proxied any;
|
||||
|
||||
Reference in New Issue
Block a user