diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3b1b42c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +nginx-1.20.1 \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 261bf63..bc8e09f 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -6,5 +6,6 @@ "files.exclude": { "**/.git": false }, - "coverage-gutters.coverageBaseDir": "./.vscode/ReportGenerator/Cobertura/*" + "coverage-gutters.coverageBaseDir": "./.vscode/ReportGenerator/Cobertura/*", + "thunder-client.saveToWorkspace": false } \ No newline at end of file diff --git a/conf/includes/BaGet.conf b/conf/includes/BaGet.conf index dd8900e..a51479d 100644 --- a/conf/includes/BaGet.conf +++ b/conf/includes/BaGet.conf @@ -1,11 +1,11 @@ -location / -{ - proxy_pass http://localhost:5555; +location / { proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection keep-alive; - proxy_set_header Host $http_host; proxy_cache_bypass $http_upgrade; + proxy_pass http://localhost:5555; + proxy_set_header Host $http_host; + proxy_set_header Connection keep-alive; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header X-Forwarded-Proto https; } # sc create "Baget-5555" start= delayed-auto DisplayName="Baget-5555" binPath= "C:\Users\phares\AppData\Local\IFXApps\BaGet\src\BaGet\bin\Release\net6.0\win-x64\publish\BaGet.exe" obj= "infineon\phares" password= "" diff --git a/conf/includes/biorad4.conf b/conf/includes/biorad4.conf new file mode 100644 index 0000000..b880fa1 --- /dev/null +++ b/conf/includes/biorad4.conf @@ -0,0 +1,32 @@ +[req] +default_bits = 2048 +default_keyfile = localhost.key +distinguished_name = req_distinguished_name +req_extensions = req_ext +x509_extensions = v3_ca + +[req_distinguished_name] +countryName = Country Name (2 letter code) +countryName_default = US +stateOrProvinceName = State or Province Name (full name) +stateOrProvinceName_default = Arizona +localityName = Locality Name (eg, city) +localityName_default = Mesa +organizationName = Organization Name (eg, company) +organizationName_default = Infineon Technologies Americas Corp. +organizationalUnitName = organizationalunit +organizationalUnitName_default = Development +commonName = Common Name (e.g. server FQDN or YOUR name) +commonName_default = biorad4 +commonName_max = 64 + +[req_ext] +subjectAltName = @alt_names + +[v3_ca] +subjectAltName = @alt_names + +[alt_names] +DNS.1 = biorad4 +DNS.2 = localhost +DNS.3 = 127.0.0.1 diff --git a/conf/includes/biorad4.pass b/conf/includes/biorad4.pass new file mode 100644 index 0000000..8728151 --- /dev/null +++ b/conf/includes/biorad4.pass @@ -0,0 +1 @@ +https://intranet.infineon.com/ \ No newline at end of file diff --git a/conf/includes/cdn.conf b/conf/includes/cdn.conf new file mode 100644 index 0000000..86ac203 --- /dev/null +++ b/conf/includes/cdn.conf @@ -0,0 +1,31 @@ +location /cdn/ { + root "D://web-sites//cdn"; + autoindex on; + if ($request_method = 'OPTIONS') { + add_header 'Access-Control-Allow-Origin' '*'; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; + # + # Custom headers and headers various browsers *should* be OK with but aren't + # + add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range'; + # + # Tell client that this pre-flight info is valid for 20 days + # + add_header 'Access-Control-Max-Age' 1728000; + add_header 'Content-Type' 'text/plain; charset=utf-8'; + add_header 'Content-Length' 0; + return 204; + } + if ($request_method = 'POST') { + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' always; + add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always; + } + if ($request_method = 'GET') { + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' always; + add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always; + } +} \ No newline at end of file diff --git a/conf/includes/code-marketplace.conf b/conf/includes/code-marketplace.conf new file mode 100644 index 0000000..1af8f42 --- /dev/null +++ b/conf/includes/code-marketplace.conf @@ -0,0 +1,9 @@ +location / { + proxy_pass http://localhost:3001/; + proxy_set_header Host $host; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection upgrade; + proxy_set_header Accept-Encoding gzip; + proxy_set_header X-Forwarded-Host $http_host; + proxy_set_header X-Forwarded-Proto $scheme; +} \ No newline at end of file diff --git a/conf/includes/code-server.conf b/conf/includes/code-server.conf new file mode 100644 index 0000000..42cd670 --- /dev/null +++ b/conf/includes/code-server.conf @@ -0,0 +1,25 @@ +server { + server_name phares3757.ddns.net; + location / { + proxy_pass http://localhost:8007/; + proxy_set_header Host $host; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection upgrade; + proxy_set_header Accept-Encoding gzip; + } + listen [::]:443 ssl ipv6only=on; # managed by Certbot + listen 443 ssl; # managed by Certbot + ssl_certificate /etc/letsencrypt/live/phares3757.ddns.net/fullchain.pem; # managed by Certbot + ssl_certificate_key /etc/letsencrypt/live/phares3757.ddns.net/privkey.pem; # managed by Certbot + include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot + ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot +} +server { + if ($host = phares3757.ddns.net) { + return 301 https://$host$request_uri; + } # managed by Certbot + listen 80; + listen [::]:80; + server_name phares3757.ddns.net; + return 404; # managed by Certbot +} \ No newline at end of file diff --git a/conf/includes/default.conf b/conf/includes/default.conf new file mode 100644 index 0000000..c6b4fe2 --- /dev/null +++ b/conf/includes/default.conf @@ -0,0 +1,8 @@ +server { + listen 8008 default_server; + listen [::]:8008 default_server; + ## Trun on /cgi-bin/ support to run CGI apps ## + include /etc/nginx/fcgiwrap.conf; + root /var/www/html; + server_name _; +} diff --git a/conf/includes/dex.conf b/conf/includes/dex.conf new file mode 100644 index 0000000..fca3a3c --- /dev/null +++ b/conf/includes/dex.conf @@ -0,0 +1,21 @@ +location ~* .(3gp|apng|avi|avif|bmp|css|cur|flv|gif|htm|html|ico|jfif|jpeg|jpg|js|mid|mov|mp3|mp4|mpeg|mpg|ogg|pdf|php|pjp|pjpeg|png|svg|tif|tiff|txt|wav|webp|wmf|wml|wmv|xml|xml)$ { + expires 1d; + index index.html index.htm; + # root /var/www/html/637998119172547651; + root "D://Tmp//phares//www"; +} +location / { + index index.html index.htm; + # root /var/www/html/637998119172547651; + root "D://Tmp//phares//www"; + # First attempt to serve request as file, then + autoindex on; + # Send the data in JSON + autoindex_format json; + addition_types application/json; + # Calling from SERVERNAME/autoindex/* + add_before_body /NGINdeX.io/header.html; + add_after_body /NGINdeX.io/footer.html; + # Need to tell that we are sending HTML + add_header Content-Type text/html; +} \ No newline at end of file diff --git a/conf/includes/github.conf b/conf/includes/github.conf new file mode 100644 index 0000000..d7ec8e4 --- /dev/null +++ b/conf/includes/github.conf @@ -0,0 +1,16 @@ + + server { + listen 443 ssl http2; + listen [::]:443 ssl http2; + server_name github; + # https://github + ssl_certificate "includes/localhost.crt"; + ssl_certificate_key "includes/localhost.key"; + ssl_protocols TLSv1.2 TLSv1.1 TLSv1; + location / { + root "D://Tmp//phares//www"; + autoindex on; + } + error_page 500 502 503 504 /50x.html; + include "includes/html-error.conf"; + } \ No newline at end of file diff --git a/conf/includes/json.conf b/conf/includes/json.conf index d801e61..9db138c 100644 --- a/conf/includes/json.conf +++ b/conf/includes/json.conf @@ -1,24 +1,47 @@ -# location ~ /admin(.*)/$ { location ~* .(3gp|apng|avi|avif|bmp|css|cur|flv|gif|htm|html|ico|jfif|jpeg|jpg|js|mid|mov|mp3|mp4|mpeg|mpg|ogg|pdf|php|pjp|pjpeg|png|svg|tif|tiff|txt|wav|webp|wmf|wml|wmv|xml|xml)$ { expires 1d; index index.html index.htm; - # mklink /J "D:\Tmp\Phares\www\pictures" "D:\Documents\Pictures" - # mklink /J "D:\Tmp\Phares\www\NGINdeX.io" "L:\GitHub\NGINdeX.io" root "D://Tmp//phares//www"; } location / { index index.html index.htm; - # mklink /J "D:\Tmp\Phares\www\pictures" "D:\Documents\Pictures" - # mklink /J "D:\Tmp\Phares\www\NGINdeX.io" "L:\GitHub\NGINdeX.io" + # root /var/www/html/637998119172547651; root "D://Tmp//phares//www"; # First attempt to serve request as file, then autoindex on; # Send the data in JSON autoindex_format json; - addition_types application/json; + # addition_types application/json; # Calling from SERVERNAME/autoindex/* - add_before_body /NGINdeX.io/header.html; - add_after_body /NGINdeX.io/footer.html; + # add_before_body /NGINdeX.io/header.html; + # add_after_body /NGINdeX.io/footer.html; # Need to tell that we are sending HTML - add_header Content-Type text/html; + # add_header Content-Type text/html; + if ($request_method = 'OPTIONS') { + add_header 'Access-Control-Allow-Origin' '*'; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; + # + # Custom headers and headers various browsers *should* be OK with but aren't + # + add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range'; + # + # Tell client that this pre-flight info is valid for 20 days + # + add_header 'Access-Control-Max-Age' 1728000; + add_header 'Content-Type' 'text/plain; charset=utf-8'; + add_header 'Content-Length' 0; + return 204; + } + if ($request_method = 'POST') { + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' always; + add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always; + } + if ($request_method = 'GET') { + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' always; + add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always; + } } \ No newline at end of file diff --git a/conf/includes/metrology.conf b/conf/includes/metrology.conf new file mode 100644 index 0000000..cc8174f --- /dev/null +++ b/conf/includes/metrology.conf @@ -0,0 +1,28 @@ +server { + listen 4439 ssl http2; + listen [::]:4439 ssl http2; + # https://oi-metrology-viewer-prod + server_name oi-metrology-viewer-prod; + # http://oi-metrology-viewer-prod:8080 + ssl_certificate "includes/oi-metrology-viewer-prod.cer"; + ssl_certificate_key "includes/oi-metrology-viewer-prod.key"; + ssl_password_file "includes/oi-metrology-viewer-prod.pass"; + ssl_protocols TLSv1.2 TLSv1.1 TLSv1; + location / { + autoindex on; + root "D://Tmp//phares//wwwroot"; + } + location /api/ { + proxy_http_version 1.1; + proxy_cache_bypass $http_upgrade; + proxy_pass http://localhost:5002; + proxy_set_header Host $http_host; + proxy_set_header Connection keep-alive; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header X-Forwarded-Proto https; + } + error_page 500 502 503 504 /50x.html; + include "includes/html-error.conf"; +} + +# see pipeline yml \ No newline at end of file diff --git a/conf/includes/stratus.conf b/conf/includes/stratus.conf new file mode 100644 index 0000000..a981956 --- /dev/null +++ b/conf/includes/stratus.conf @@ -0,0 +1,31 @@ +server { + listen 5050; + server_name localhost; + include "includes/html.conf"; + error_page 500 502 503 504 /50x.html; + include "includes/html-error.conf"; +} +server { + listen 8081; + server_name localhost; + location / { + index index.html index.htm; + root "D://IFXApps//Logs"; + # First attempt to serve request as file, then + autoindex on; + # Send the data in JSON + autoindex_format json; + } +} +server { + listen 8082; + server_name localhost; + location / { + index index.html index.htm; + root "C://Program Files//Accent"; + # First attempt to serve request as file, then + autoindex on; + # Send the data in JSON + autoindex_format json; + } +} \ No newline at end of file diff --git a/conf/includes/wwwroot.conf b/conf/includes/wwwroot.conf new file mode 100644 index 0000000..159b1f3 --- /dev/null +++ b/conf/includes/wwwroot.conf @@ -0,0 +1,4 @@ +location / { + root "D://wwwroot"; + try_files $uri $uri/ /index.html =404; +} \ No newline at end of file diff --git a/conf/nginx.conf b/conf/nginx.conf index 257981d..c639675 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -4,57 +4,8 @@ events { } http { include "includes/mime.types"; + include "includes/stratus.conf"; default_type application/octet-stream; sendfile on; keepalive_timeout 65; - server { - listen 5050; - server_name localhost; - include "includes/html.conf"; - error_page 500 502 503 504 /50x.html; - include "includes/html-error.conf"; - } - server { - listen 4430; - server_name iscn5cg1325c0x.infineon.com; - include "includes/BaGet.conf"; - } - server { - listen 5051; - server_name localhost; - include "includes/www.conf"; - } - server { - listen 5052; - server_name localhost; - include "includes/json.conf"; - } - server { - listen 5053; - server_name localhost; - include "includes/ProgramData.conf"; - } - server { - listen 8080; - server_name ~(oi-metrology-viewer-archive).mes.infineon.com; - location / { - include "includes/Archive.conf"; - } - } - server { - listen 8080; - server_name ~(oi-metrology-viewer-prod).mes.infineon.com; - location / { - include "includes/Viewer.conf"; - } - } - server { - listen 8088; - server_name *.mes.infineon.com; - include "includes/EAF-Viewer.Server.conf"; - } } -# mklink /J "C:\Users\phares\AppData\Local\IFXApps\nginx-1.20.1\conf" "L:\Git\NGINX-Conf\conf" -# cd "C:\Users\ECMESEAF\AppData\Local\IFXApps\nginx-1.20.1" -# .\nginx -t -# .\nginx -s reload