diff --git a/Dockerfile b/Dockerfile index 7c20b1f..875e96c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,5 +7,7 @@ RUN npm run clean && npm run generate FROM nginx:mainline as runtime COPY --from=build /build/public /usr/share/nginx/html +COPY key.pem /etc/nginx/key.pem +COPY cert.pem /etc/nginx/cert.pem COPY nginx.conf /etc/nginx/nginx.conf COPY default.conf /etc/nginx/conf.d/default.conf \ No newline at end of file diff --git a/cert.pem b/cert.pem index 16f3219..9b87b25 100644 --- a/cert.pem +++ b/cert.pem @@ -1,20 +1,21 @@ -----BEGIN CERTIFICATE----- -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 -----END CERTIFICATE----- diff --git a/default.conf b/default.conf index a0a095a..79c4ac8 100644 --- a/default.conf +++ b/default.conf @@ -1,5 +1,8 @@ server { listen 80; + listen 443 ssl; + ssl_certificate cert.pem; + ssl_certificate_key key.pem; server_name _; location / { @@ -13,6 +16,8 @@ server { add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1;mode=block"; add_header X-Content-Type-Options "nosniff"; + add_header Content-Security-Policy "upgrade-insecure-requests"; + add_header Strict-Transport-Security "max-age=86400"; location /rss.xml { diff --git a/key.pem b/key.pem index 54f2ecc..b7bb151 100644 --- a/key.pem +++ b/key.pem @@ -1,28 +1,28 @@ -----BEGIN PRIVATE KEY----- -MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC9xAfQR9AV1A0i -OBZUplVH+X6pFb6VOy4FWJ03nNbRhdis1W7MkFT9Dvf4yHP9X+Dm3F/75Ylv3CjU -QZ6Gs4YB6Qr6wssNlh4FkkJt6uwWmISnTPX3m3Vt+BOBvD724MNVt1e9Ff/W3lkE -Y9Cqzw2E6EGWBKucGvsFTR/1JFOqsPbs76L5V6r5Btp3sZiWqi5YKB7OP5CwBijn -QNTg2SiWDvoRkiHdWgV9WiKUPctRcOu9nD5F3zeJCK7XOVzB3+epNIIRFiy5Yg/h -8M5wiMJuhHtecQZRBBxlWpotVtfrVBGKuhvqB2Xql42Zds61tINHHjergh++zflE -HDFlR5sZAgMBAAECggEBAKf0HEZHiPAI4ibrJTh+jvRI6cWVLTy/SBgLOfrCoY6H -vCIcNRhwlgfze52BLMeQWGl7mqhDm8SZQrm56iimM3D1ZXZTeYvo1WFw9cJ7LcFB -9AZuozQnL2PJMNqeVcwDWl8/CjSch/cQjBDKlyDWaMy9E29HauubJZinjiVVpYdn -2N/U2MP9swGMgWem2xmCpFaWOa96QiAVvsNqbPjapCwBNOcgwAwG4xrHFU+7Qgm8 -8FuNZCf7zm1ncq2KSkN+bDS6LtIqplW4CrpmTytF3LzMqHhAcfFhLb79oAU3jsCy -9u6/ZHw5loPCAXIec+auIEMleWebmFI1tzCkC66yFBECgYEA8wTQz0Jt6FgclfM8 -P0ivhkUDhnfihJnh7qw8ryFnG0EohX7yBHE3qE7TA45MZ6WXlzN+SQSi9A5QQ4CJ -+qU4dGkNwZh48OXUsMjDdjK39JT0fIds9mdJ2Pil6nd07f/OUy9PryP9NR+ejehG -2vPyq6KRV2PfaMySKtLaI0vHle8CgYEAx+cAKNIN1OvgPqxa7SelC1ruJilmKs/K -g+CxfWupW33edEDl4xKZG7svU+JnKzEfh+ADcW06rocR46DYV17V87jgUIaf/EnF -MPm2lGGqkMptSD20c2cTFZOZqZt5WXlmUjgUdBoHNm+qAnsdG0LsF8qoU1fxha8I -nxWIDTRup3cCgYEAgJnmyhc0REUEc5GxKygSwrIYyHr+ov8v4XbB8kdx4alcgTCJ -cDJdqrJz1ijiY+LsUnZMeOV8Ojys2tvVqI7wTiIdxnoiXhCxug+z6AO09zgwHQop -bkeAe9IxMt+eQCgjjj+2Ik+gOhGOfTgS7uEzZQJ1eVJ/sly3aPQFvbHnX38CgYAu -G23B/JEMJ0uVqRNf1+ENeW+shaf2/+5p9I17rDVn0ORaVA2yDjwaVVZZNsMtByuK -n3Sr2NHMJ4NMyXCc1lbq3B2A9Uw5WJqO7Unbd5trwgTqwLC6XW/dbinnIOEgbgvX -su+kx8waFi9UWykffJQP+MJSVtpyRyjp6IF06j8LiQKBgQCvbhz7ArfomnCJvPEP -87H7r11lFGFf72KwkBe+mKfVBZ0CMmzJx2eU/Fi9L2ZOZjc/Mu6rxuPK8fdpr164 -B9zLuMyjWOZ/c6rNp2jMuDFx6hs9SVDhMx+AZEEGIjlaBVOui3+PB1KFcFWO/EcV -zWX+IvLlrUidtS3R5UQcbjf4/g== +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCdY/HQ/YCuxXds +no7rvPp1pfPwMZ0DXYpP3BidNEcEfL0IDFZSkmKa4W3t+WCN75PzJ2y2tUDRi7PS +yxYX4PXcMCDZnrww/YS5Mkyyg7XAp8l/1KlPch3nsSZgQSkU31uzMHRDR++Wv6NP +GHe5atO5K6AtVoLyWRDfZeY6eDxZEenQL52kxhS4i4K8VAodLqb6BXE/Gx4wsWhL +t4Rwp8XceoSPKNuUJJmPCh8WQRSLT5MeuzTjRc6vZpDAiE8NRcxKrvsDCEuxQkd5 +oer+DYmb9KFbsBl4EXSdW6/qTtypAUBlQDxkPcru1YJlZKfHj3HPtuPUtFrDGKQd +6EWw6SPrAgMBAAECggEAFDJxI5qEWukoLB4kxQeZNGO5bAdR2M62Iw1hczr0KhU/ +xLqgkTQLx0hKbRFlXJFz8O4MO14DFWDSEKjTCvlpU3oxnPuLttWxpHpZ8UaJmlFt +wCOwHmvMfqDzBcMW3IDVKad8I+4lRrkM4eeH5ZlZ1hdNFMRXRXY8fg57fuFTDTLV +wd+tQJNjvJTBhCdPCBxnKYbosnRMoXzy6WQc/0h3gRiyEZOczkU5ohnjb61BDTP6 +T/wocXotINmVTU+qDO8K2kLSSmnF3G1BaaxDhFw5AwzaZgecP/agRWCpzIzBsxLG +e8n2DtBT8DdxUcpoA8uYQN62sq8FVwa//eTph3ppAQKBgQDMMPZanRNwX/bks/7f +ydXxMx0ZixnT2DO6msB+Yv3zlpbkkX/odj0DG4v6YH5VF0JTQtXVEZMuIOTJ1j6s +2gtne/kpUFN7Ylq6x7ir+Sm6o3yIhvxBiXNcB9sCN6HFFQAOfcMchBBJpPV1TLCr +2C5Kpc4BiZMX82LoETjLtJVPKwKBgQDFUxSEWLWdlth+1Zg4Co0mWJdN+1Nx/CYe ++noGf3bXR0iHQ+zRsoL0xk3Rn0Zor4AF12/8G+Q50i8JXmrFjZn7UuPzBc4xORNT +vnZUXnO/aE9Da4BzzDGZ1PjR0t1cvi4TsM4Zda/jC42SsLqBEsM6oZH16kdPaX1j +wQuLYqseQQKBgGoXaniMMmRpx/ruNpgJ43nt58m0x1eVdtMWwrsoLfBZJs9ddcrP +XEX4ExOk/R6y9ggSqs2I0yLdfmIMSgY/SDudY0j+7lEmOiPfz2izDeZmOTcqg3h9 +tQ11G2qcgxXGIoBlAXIYf+nzpoEqtoSizvKEEXQlCeMg1xvijtLwYb9/AoGBAKbq +5nolyEvsZGq2KDOPyWLcofEXXrkXQPAHld2VSWRGKnYx4UxpoxmH/iAKibbYboWC +fnpW5bJ7t8pHEi7W36CXt7fF+2vsCgtXHCW2WFdb12ECuQA7hOHKJEjqBNMFFVkW +wOEMiqKXDUU/NiUlR/x63EuXyIbGh4kwraFU78eBAoGAdkaBxBG7cy5PDfNs5/QM +8nHdrGJBWqBsJMfnjqFhrfRT6vaAoctkSJYFXUplPUfTAm2DHf4TjJtWUkDq8Ejq +zEP11V7mQmiVzm77g+ACz43MKZ5RZV5tLvVrKCJM64JBieUUwm4yJWSq9aqF9rZt +qseGwBW1k8lXgeH3VUD+ulc= -----END PRIVATE KEY-----