diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..78e7043 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +conf/includes/localhost.crt +conf/includes/localhost.key \ No newline at end of file diff --git a/conf/includes/APC-Viewer-Server.conf b/conf/includes/APC-Viewer-Server.conf new file mode 100644 index 0000000..099d440 --- /dev/null +++ b/conf/includes/APC-Viewer-Server.conf @@ -0,0 +1 @@ +location / { proxy_pass http://localhost:5002; } \ No newline at end of file diff --git a/conf/includes/APC-Viewer.conf b/conf/includes/APC-Viewer.conf new file mode 100644 index 0000000..34c1275 --- /dev/null +++ b/conf/includes/APC-Viewer.conf @@ -0,0 +1 @@ +location / { proxy_pass http://localhost:5005; } \ 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/Gogs.conf b/conf/includes/Gogs.conf new file mode 100644 index 0000000..b1680ef --- /dev/null +++ b/conf/includes/Gogs.conf @@ -0,0 +1,8 @@ +location / { + proxy_hide_header Authorization; + if ($http_Authorization != "Basic asdf") { + return 401; + } + proxy_set_header Authorization "Basic asdf"; + proxy_pass http://localhost:3000; +} \ 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/ec-server.crt b/conf/includes/ec-server.crt new file mode 100644 index 0000000..3b204ca --- /dev/null +++ b/conf/includes/ec-server.crt @@ -0,0 +1,37 @@ +Bag Attributes + localKeyID: 01 00 00 00 +subject=CN = mestsa02ec.ec.local + +issuer=C = DE, O = Infineon Technologies AG, CN = Infineon Technologies AG EC CA + +-----BEGIN CERTIFICATE----- +MIIFZzCCBE+gAwIBAgITEQAKMa/W/0YEmx3dVwAAAAoxrzANBgkqhkiG9w0BAQsF +ADBZMQswCQYDVQQGEwJERTEhMB8GA1UECgwYSW5maW5lb24gVGVjaG5vbG9naWVz +IEFHMScwJQYDVQQDDB5JbmZpbmVvbiBUZWNobm9sb2dpZXMgQUcgRUMgQ0EwHhcN +MjMwMzMxMDE0NjAzWhcNMjUwMzMwMDE0NjAzWjAeMRwwGgYDVQQDDBNtZXN0c2Ew +MmVjLmVjLmxvY2FsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2lK +HvL1yot5W+sUYZFx+jnvQGUUimuWbhmGMLgfnhOOkNiJk12fq55ZfjOaFD7Pod/g +xhiViFZ0vVR/JwBlGK6RGPPsarK5LmMgdV3Y2MWDGIA5jb3sgvFtsz/q9xMfbbq7 +EPls51QJ+HHiMMtYPhTJX912EYm/FWw3/16RpM5jjAIq14XTNV2dilnLO2XmrRDh +zV9ySclHbsyp+6Xa+4E/TP93oUE/YwlvA5tXCdblZaapBzq+pSLgkDBFwCaLwdzx +S0LgW1DPXjzAvNj5Yi+15tD/QGH6h1QaimBMe8nQcPkpyVicTRK/HONZMP/zx5rL +4AYz72ahtMG8yrCQXwIDAQABo4ICYTCCAl0wPgYJKwYBBAGCNxUHBDEwLwYnKwYB +BAGCNxUIhK+7M4S3+nmFmZcqhfiyeYaXu2aBA4XPrD2DhJoTAgFkAgFVMB0GA1Ud +JQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAOBgNVHQ8BAf8EBAMCBaAwQgYDVR0g +BDswOTA3Bg0qghQARAqBAgEBAQEBMCYwJAYIKwYBBQUHAgEWGGh0dHA6Ly9jcHMu +aW5maW5lb24uY29tADAnBgkrBgEEAYI3FQoEGjAYMAoGCCsGAQUFBwMBMAoGCCsG +AQUFBwMCMB0GA1UdDgQWBBS4GCGfn0i+NXOi+lsXMleuqXgrfjA2BgNVHREELzAt +gittZXNhcmVwb3J0aW5nc2VydmljZXMtcHJvZC5tZXMuaW5maW5lb24uY29tMB8G +A1UdIwQYMBaAFJmmdkAB8r7pT1pg9efTboOQCXhgMIIBBQYDVR0fBIH9MIH6MIH3 +oIH0oIHxhoHMbGRhcDovLy9DTj1JbmZpbmVvbiUyMFRlY2hub2xvZ2llcyUyMEFH +JTIwRUMlMjBDQSxDTj1FTFNTQUVDMDIsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUy +MFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9RUMsREM9 +bG9jYWw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNz +PWNSTERpc3RyaWJ1dGlvblBvaW50hiBodHRwOi8vY3JsLmVjLmxvY2FsL2NybC9F +Y0NBLmNybDANBgkqhkiG9w0BAQsFAAOCAQEAnbUvDqIFyK2M9bDUeilmDQCFF2NE +2uLnA7EZXWEMXqQ3Zo3U5KV6MsGxHjuGMdki+PNrPy116GYkm7JcVdvavII5q+Ze +KoDPtLxJZrZ4F5jGmBwRMNaqTD9vWqVRN5MDFRhuXMPbU/5e+fsfzTChemE7Wme7 +owEYbjtAxT6FiBkYwQL5AM3w1YzQsi8mPV4FIJcAh8WjxH4zkiO+eedal/fWw4gV +3vZo/8B1Z/lsyQSyG7O8HD5uOqnpngZbhQ8CICXrwrXtrOjDP03fJNWUPQ/T8QU/ +gIEadozWYBWeghthtp81AjZPGJloV2iyomkQe4N4XcV4vJ9v4KujOUvcLA== +-----END CERTIFICATE----- diff --git a/conf/includes/ec-server.key b/conf/includes/ec-server.key new file mode 100644 index 0000000..ccd6d0d --- /dev/null +++ b/conf/includes/ec-server.key @@ -0,0 +1,37 @@ +Bag Attributes + Microsoft Local Key set: + localKeyID: 01 00 00 00 + Microsoft CSP Name: Microsoft RSA SChannel Cryptographic Provider + friendlyName: te-InfineonECServer-e9a15685-d6b6-4470-9728-f627f4423d90 +Key Attributes + X509v3 Key Usage: 10 +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIuoAZ6HXk3ToCAggA +MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECE6S96awW9vNBIIEyGtPG2WkLSPF +toWLISPCnTkPyDvgfzZ+xhx+Ogo4drd1ljhjpFGZk2OrKIWpUO1CLRsDoN7xGrrG +AcUOyUL3NJfiQYIAiM7qYVD4fmGsfxQrLCq5vVuLrg9VfYIPWQ9VV4u5cbp/vLyn +cxyd5EVuq8fOsMCsafL4k2VKY/pgQpFm8Gof0rwAd71DwVc74SYBL1+n96E2XgEt +m+7vmU3+YKRSBOnLhc9vV2GnQDOSBFRpr4jr4X5T7TbyaeCrrqL7TNGdvirNERW/ +1+FUPqKfL1+x5Awba6n7JunM4t4xZhfXeEEVRWpqB5okQBraR45xP04ibZJfRsux +AqKrjp3baiFvvqgdu9GZgnw1b2UjAaie3Qm0v5u8YttKJxT62RmWx+aKxgy9hjlX +lgxPs+p/6cS0QnFue63oZGq3p7zqvBXHgUSt47WqTHxq18I/qDnwAtX6Mokwj4rv +ND6/I1PkBMiXWgn2+qX2ZM9qfgf1+IkTMWArR6ImdhJ8MUu+kWYC5tBtQMnpSQoo +CqCpHusMhUXKFMatWV+YfWLmFzuOwYFC2mUvQU9RmJ1aZb4gBvCSZG+vAo9NacSA +A8/FTJzvv3vgh+QakLD0TY03poxOBEiS2IWLyPipjGrCE3MDROeqdljsTPcbdSOo +EXfk+w+DwngsafwQY7xn7Rj6NRaq16ZhN6m9wdqDi4UQ3wZYOaEYV4DqzVnXbf0e +mNhjGRCEEPyCxXw5MuN/drUpDWDRN/peTsWLamtSoN6u4niJFTZwztEhUHfbJJLE +pt4fOO0D4F4oWtqFMSsp2NaFwFfSsdsCaoFri4mfeZfWPAvd+38yvEaaCw1fIg/R +VOydXBDNHpsOX20Nck/ixDcJ1GuicOOKntFF8+rbWuDKF4tXJUEbXBYylex0J5r/ +b/lQmcI12gU91MxYQS0oirsU8y+/qJfjPg1Y+jtSIx98IThuD0pLDlokoWAvJh7Y +zoC15pIwQKup7dlGYPn0UU+9nW+vm9l3ZtQcOGqX95/qrLzcUrEAMcnjFkC30sG3 +4LZDsKQTq+UBkjWZk6C9Jej8+ZVBSbbPHfxY/JHVZMiyvkvs2juZ59W2qswy6Dpd +m1HjEDZxzPtf0SCiK7Te/MjEX2jzIVBw4DddlKXlGL/oQ/pG6CsOqVhsvfKz62Yv +xSv/CRSfxVV8n1CchYg/FgZ5Ib+nLDn46ABvdh5AIPCcYS/f9zdQlyKyMJCPRSfW +vWwH6n/4bHLvLxAAI7bJpJhWNxXSIHH3j6UjAuTPlL7yXM5DI0drZQ2T5DtdBIxB +7iJmVU6zLaRuzx3CAcp6M071y/e4Dfar6WL/7M14wjau8vLe/5pnkojMWwwbbyXb +CFQ54FcrZuw7uD9Tpl73UHzyHlKQ5oj0nno9OQVzNb3f0iIJ/rQBxg/0ZAoJZdrx +Ea+ynGo1GXTkEEiIQEbFzd5ZXK8cKRIyXDl84navTHsIauyNwbLp7mie55aGPL34 +kzi3K1G18fE2FM7vxRbyEk4nLzWAePjQjWc5rRnKVqHxR6+XEdHyEBH8gylX/zRQ +czNUWtSAgU5nQfcZj3uwp/XkxAL2Ngg6YFWYUNEo7/T6IkqoKb8j4fI4zl419VBM +gBNsOfeo3XrmcPHBLCw0LQ== +-----END ENCRYPTED PRIVATE KEY----- diff --git a/conf/includes/ec-server.pass b/conf/includes/ec-server.pass new file mode 100644 index 0000000..9956456 --- /dev/null +++ b/conf/includes/ec-server.pass @@ -0,0 +1 @@ +nocert \ No newline at end of file diff --git a/conf/includes/ec-server.pfx b/conf/includes/ec-server.pfx new file mode 100644 index 0000000..71f9927 Binary files /dev/null and b/conf/includes/ec-server.pfx differ 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/localhost.conf b/conf/includes/localhost.conf new file mode 100644 index 0000000..a2cb348 --- /dev/null +++ b/conf/includes/localhost.conf @@ -0,0 +1,44 @@ +[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 = mestsa02ec.ec.local +commonName_max = 64 + +[req_ext] +subjectAltName = @alt_names + +[v3_ca] +subjectAltName = @alt_names + +[alt_names] +DNS.1 = mestsa02ec.ec.local +DNS.2 = localhost +DNS.3 = 127.0.0.1 + +# https://webscoot.io/blog/create-self-signed-certificate-ubuntu-windows-nginx/ +# cd "C:\Program Files\Git\usr\bin" +# openssl +# req -x509 -nodes -days 365 -newkey rsa:2048 -keyout L:\DevOps\Mesa_FI\NGINX-Conf\conf\includes\localhost.key -out L:\DevOps\Mesa_FI\NGINX-Conf\conf\includes\localhost.crt -config L:\DevOps\Mesa_FI\NGINX-Conf\conf\includes\localhost.conf +# openssl +# pkcs12 -in L:\DevOps\Mesa_FI\NGINX-Conf\conf\includes\ec-server.pfx -nocerts -out L:\DevOps\Mesa_FI\NGINX-Conf\conf\includes\ec-server.key +# openssl +# nocert +# pkcs12 -in L:\DevOps\Mesa_FI\NGINX-Conf\conf\includes\ec-server.pfx -clcerts -nokeys -out L:\DevOps\Mesa_FI\NGINX-Conf\conf\includes\ec-server.crt +# CN = mestsa02ec.ec.local +# DNS Name=mesareportingservices-prod.mes.infineon.com \ 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..1ade933 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -8,53 +8,117 @@ http { sendfile on; keepalive_timeout 65; server { - listen 5050; - server_name localhost; - include "includes/html.conf"; + # listen 80; + listen 4443 ssl http2; + listen [::]:4443 ssl http2; + server_name *.mes.infineon.com; + # server_name localhost; + # ssl_certificate "includes/localhost.crt"; + # ssl_certificate_key "includes/localhost.key"; + # ssl_certificate "includes/ec-server.cer"; + ssl_certificate "includes/ec-server.crt"; + ssl_certificate_key "includes/ec-server.key"; + ssl_password_file "includes/ec-server.pass"; + ssl_protocols TLSv1.2 TLSv1.1 TLSv1; + # include "includes/html.conf"; + # include "includes/BaGet.conf"; + location / { + include "includes/APC-Viewer-Server.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/dex.conf"; + # } + # server { + # listen 5053; + # server_name localhost; + # include "includes/ProgramData.conf"; + # } + # server { + # listen 5054; + # server_name localhost; + # include "includes/json.conf"; + # } + # server { + # listen 5055; + # server_name localhost; + # include "includes/wwwroot.conf"; + # } + # server { + # listen 8011; + # server_name localhost; + # include "includes/Gogs.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"; + # } server { - listen 4430; - server_name iscn5cg1325c0x.infineon.com; - include "includes/BaGet.conf"; - } - server { - listen 5051; + listen 5001; 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"; + include "includes/APC-Viewer.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" +# mkdir "L:\DevOps\Mesa_FI" +# cd "L:\DevOps\Mesa_FI" +# git clone https://tfs.intra.infineon.com/tfs/ManufacturingIT/Mesa_FI/_git/NGINX-Conf +# - +# rmdir /s "C:\Users\ECAPCSvc\AppData\Local\IFXApps\nginx-1.20.1\conf" +# mklink /J "C:\Users\ECAPCSvc\AppData\Local\IFXApps\nginx-1.20.1\conf" "L:\DevOps\Mesa_FI\NGINX-Conf\conf" +# - +# As administrator +# - +# cd "C:\Users\phares\AppData\Local\IFXApps\nssm-2.24\win64" +# nssm install "nginx" +# - +# C:\Users\ECAPCSvc\AppData\Local\IFXApps\nginx-1.20.1\nginx.exe +# C:\Users\ECAPCSvc\AppData\Local\IFXApps\nginx-1.20.1 +# - +# start nginx +# C:\Users\ECAPCSvc\AppData\Local\IFXApps\nginx-1.20.1\logs\service.out.log +# C:\Users\ECAPCSvc\AppData\Local\IFXApps\nginx-1.20.1\logs\service.error.log +# - +# mklink /J "D:\Tmp\Phares\www\pictures" "D:\Documents\Pictures" +# mklink /J "D:\Tmp\Phares\www\NGINdeX.io" "L:\DevOps\Mesa_FI\NGINdeX.io" +# mklink /J "D:\Tmp\Phares\www\pictures" "D:\Documents\Pictures" +# mklink /J "D:\Tmp\Phares\www\NGINdeX.io" "L:\DevOps\Mesa_FI\NGINdeX.io" +# - +# ln -s /etc/nginx/sites-available/json /etc/nginx/sites-enabled/ +# ln -s /srv/samba/share/637998119172547651 /var/www/html/637998119172547651 +# ln -s /var/www/html/NGINdeX.io /var/www/html/637998119172547651/NGINdeX.io +# ln -s /srv/git /var/www/html/637998119172547651/git +# - +# cd "C:\Users\ECAPCSvc\AppData\Local\IFXApps\nginx-1.20.1" # .\nginx -t -# .\nginx -s reload +# .\nginx -s reload \ No newline at end of file diff --git a/x-conf/fastcgi.conf b/x-conf/fastcgi.conf new file mode 100644 index 0000000..091738c --- /dev/null +++ b/x-conf/fastcgi.conf @@ -0,0 +1,26 @@ + +fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; +fastcgi_param QUERY_STRING $query_string; +fastcgi_param REQUEST_METHOD $request_method; +fastcgi_param CONTENT_TYPE $content_type; +fastcgi_param CONTENT_LENGTH $content_length; + +fastcgi_param SCRIPT_NAME $fastcgi_script_name; +fastcgi_param REQUEST_URI $request_uri; +fastcgi_param DOCUMENT_URI $document_uri; +fastcgi_param DOCUMENT_ROOT $document_root; +fastcgi_param SERVER_PROTOCOL $server_protocol; +fastcgi_param REQUEST_SCHEME $scheme; +fastcgi_param HTTPS $https if_not_empty; + +fastcgi_param GATEWAY_INTERFACE CGI/1.1; +fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; + +fastcgi_param REMOTE_ADDR $remote_addr; +fastcgi_param REMOTE_PORT $remote_port; +fastcgi_param SERVER_ADDR $server_addr; +fastcgi_param SERVER_PORT $server_port; +fastcgi_param SERVER_NAME $server_name; + +# PHP only, required if PHP was built with --enable-force-cgi-redirect +fastcgi_param REDIRECT_STATUS 200; diff --git a/x-conf/fastcgi_params b/x-conf/fastcgi_params new file mode 100644 index 0000000..28decb9 --- /dev/null +++ b/x-conf/fastcgi_params @@ -0,0 +1,25 @@ + +fastcgi_param QUERY_STRING $query_string; +fastcgi_param REQUEST_METHOD $request_method; +fastcgi_param CONTENT_TYPE $content_type; +fastcgi_param CONTENT_LENGTH $content_length; + +fastcgi_param SCRIPT_NAME $fastcgi_script_name; +fastcgi_param REQUEST_URI $request_uri; +fastcgi_param DOCUMENT_URI $document_uri; +fastcgi_param DOCUMENT_ROOT $document_root; +fastcgi_param SERVER_PROTOCOL $server_protocol; +fastcgi_param REQUEST_SCHEME $scheme; +fastcgi_param HTTPS $https if_not_empty; + +fastcgi_param GATEWAY_INTERFACE CGI/1.1; +fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; + +fastcgi_param REMOTE_ADDR $remote_addr; +fastcgi_param REMOTE_PORT $remote_port; +fastcgi_param SERVER_ADDR $server_addr; +fastcgi_param SERVER_PORT $server_port; +fastcgi_param SERVER_NAME $server_name; + +# PHP only, required if PHP was built with --enable-force-cgi-redirect +fastcgi_param REDIRECT_STATUS 200; diff --git a/x-conf/includes/EAF-Viewer.Server.conf b/x-conf/includes/EAF-Viewer.Server.conf new file mode 100644 index 0000000..2c1e37a --- /dev/null +++ b/x-conf/includes/EAF-Viewer.Server.conf @@ -0,0 +1 @@ +location / { proxy_pass http://localhost:5006; } \ No newline at end of file diff --git a/x-conf/includes/EDA-Viewer.conf b/x-conf/includes/EDA-Viewer.conf new file mode 100644 index 0000000..91cff5a --- /dev/null +++ b/x-conf/includes/EDA-Viewer.conf @@ -0,0 +1,11 @@ +location / { + proxy_pass http://localhost:5003; #EDA Viewer#5003 +} +#C:\Users\mesedasvc\AppData\Local\IFXApps\nginx-1.20.1 +#nginx -t +#nginx -s reload +# +#sc stop "EDA Viewer 5003" +#sc delete "EDA Viewer 5003" +#http://localhost:5003/Home/Background/?EDAViewer +# \ No newline at end of file diff --git a/x-conf/includes/ProgramData.conf b/x-conf/includes/ProgramData.conf new file mode 100644 index 0000000..ab692c3 --- /dev/null +++ b/x-conf/includes/ProgramData.conf @@ -0,0 +1,6 @@ +location ~* ^.+\.(application|manifest|deploy|msu|msp) { + #root html; + #root "C:\\Users\\mesedasvc\\AppData\\Local\\IFXApps\\nginx-1.20.1\\html"; + #root "D:\\ProgramData\\ClickOnce"; + root "D:\\ProgramData"; +} \ No newline at end of file diff --git a/x-conf/includes/html-error.conf b/x-conf/includes/html-error.conf new file mode 100644 index 0000000..fbdcfc5 --- /dev/null +++ b/x-conf/includes/html-error.conf @@ -0,0 +1,3 @@ +location = /50x.html { + root html; +} \ No newline at end of file diff --git a/x-conf/includes/html.conf b/x-conf/includes/html.conf new file mode 100644 index 0000000..04d4046 --- /dev/null +++ b/x-conf/includes/html.conf @@ -0,0 +1,4 @@ +location / { + root html; + index index.html index.htm; +} \ No newline at end of file diff --git a/x-conf/includes/mime.types b/x-conf/includes/mime.types new file mode 100644 index 0000000..c619639 --- /dev/null +++ b/x-conf/includes/mime.types @@ -0,0 +1,101 @@ + +types { + text/html html htm shtml; + text/css css; + text/xml xml; + image/gif gif; + image/jpeg jpeg jpg; + application/javascript js; + application/atom+xml atom; + application/rss+xml rss; + + text/mathml mml; + text/plain txt; + text/vnd.sun.j2me.app-descriptor jad; + text/vnd.wap.wml wml; + text/x-component htc; + + image/png png; + image/svg+xml svg svgz; + image/tiff tif tiff; + image/vnd.wap.wbmp wbmp; + image/webp webp; + image/x-icon ico; + image/x-jng jng; + image/x-ms-bmp bmp; + + font/woff woff; + font/woff2 woff2; + + application/java-archive jar war ear; + application/json json; + application/mac-binhex40 hqx; + application/msword doc; + application/pdf pdf; + application/postscript ps eps ai; + application/rtf rtf; + application/vnd.apple.mpegurl m3u8; + application/vnd.google-earth.kml+xml kml; + application/vnd.google-earth.kmz kmz; + application/vnd.ms-excel xls; + application/vnd.ms-fontobject eot; + application/vnd.ms-powerpoint ppt; + application/vnd.oasis.opendocument.graphics odg; + application/vnd.oasis.opendocument.presentation odp; + application/vnd.oasis.opendocument.spreadsheet ods; + application/vnd.oasis.opendocument.text odt; + application/vnd.openxmlformats-officedocument.presentationml.presentation + pptx; + application/vnd.openxmlformats-officedocument.spreadsheetml.sheet + xlsx; + application/vnd.openxmlformats-officedocument.wordprocessingml.document + docx; + application/vnd.wap.wmlc wmlc; + application/x-7z-compressed 7z; + application/x-cocoa cco; + application/x-java-archive-diff jardiff; + application/x-java-jnlp-file jnlp; + application/x-makeself run; + application/x-perl pl pm; + application/x-pilot prc pdb; + application/x-rar-compressed rar; + application/x-redhat-package-manager rpm; + application/x-sea sea; + application/x-shockwave-flash swf; + application/x-stuffit sit; + application/x-tcl tcl tk; + application/x-x509-ca-cert der pem crt; + application/x-xpinstall xpi; + application/xhtml+xml xhtml; + application/xspf+xml xspf; + application/zip zip; + + application/octet-stream bin exe dll; + application/octet-stream deb; + application/octet-stream dmg; + application/octet-stream iso img; + application/octet-stream msi msp msm; + + audio/midi mid midi kar; + audio/mpeg mp3; + audio/ogg ogg; + audio/x-m4a m4a; + audio/x-realaudio ra; + + video/3gpp 3gpp 3gp; + video/mp2t ts; + video/mp4 mp4; + video/mpeg mpeg mpg; + video/quicktime mov; + video/webm webm; + video/x-flv flv; + video/x-m4v m4v; + video/x-mng mng; + video/x-ms-asf asx asf; + video/x-ms-wmv wmv; + video/x-msvideo avi; + + application/x-ms-application application; + application/x-ms-manifest manifest; + application/octet-stream deploy; +} diff --git a/x-conf/includes/www.conf b/x-conf/includes/www.conf new file mode 100644 index 0000000..fffa956 --- /dev/null +++ b/x-conf/includes/www.conf @@ -0,0 +1,3 @@ +location / { + root "D:\\Tmp\\Phares\\www"; +} \ No newline at end of file diff --git a/x-conf/koi-utf b/x-conf/koi-utf new file mode 100644 index 0000000..e7974ff --- /dev/null +++ b/x-conf/koi-utf @@ -0,0 +1,109 @@ + +# This map is not a full koi8-r <> utf8 map: it does not contain +# box-drawing and some other characters. Besides this map contains +# several koi8-u and Byelorussian letters which are not in koi8-r. +# If you need a full and standard map, use contrib/unicode2nginx/koi-utf +# map instead. + +charset_map koi8-r utf-8 { + + 80 E282AC ; # euro + + 95 E280A2 ; # bullet + + 9A C2A0 ; #   + + 9E C2B7 ; # · + + A3 D191 ; # small yo + A4 D194 ; # small Ukrainian ye + + A6 D196 ; # small Ukrainian i + A7 D197 ; # small Ukrainian yi + + AD D291 ; # small Ukrainian soft g + AE D19E ; # small Byelorussian short u + + B0 C2B0 ; # ° + + B3 D081 ; # capital YO + B4 D084 ; # capital Ukrainian YE + + B6 D086 ; # capital Ukrainian I + B7 D087 ; # capital Ukrainian YI + + B9 E28496 ; # numero sign + + BD D290 ; # capital Ukrainian soft G + BE D18E ; # capital Byelorussian short U + + BF C2A9 ; # (C) + + C0 D18E ; # small yu + C1 D0B0 ; # small a + C2 D0B1 ; # small b + C3 D186 ; # small ts + C4 D0B4 ; # small d + C5 D0B5 ; # small ye + C6 D184 ; # small f + C7 D0B3 ; # small g + C8 D185 ; # small kh + C9 D0B8 ; # small i + CA D0B9 ; # small j + CB D0BA ; # small k + CC D0BB ; # small l + CD D0BC ; # small m + CE D0BD ; # small n + CF D0BE ; # small o + + D0 D0BF ; # small p + D1 D18F ; # small ya + D2 D180 ; # small r + D3 D181 ; # small s + D4 D182 ; # small t + D5 D183 ; # small u + D6 D0B6 ; # small zh + D7 D0B2 ; # small v + D8 D18C ; # small soft sign + D9 D18B ; # small y + DA D0B7 ; # small z + DB D188 ; # small sh + DC D18D ; # small e + DD D189 ; # small shch + DE D187 ; # small ch + DF D18A ; # small hard sign + + E0 D0AE ; # capital YU + E1 D090 ; # capital A + E2 D091 ; # capital B + E3 D0A6 ; # capital TS + E4 D094 ; # capital D + E5 D095 ; # capital YE + E6 D0A4 ; # capital F + E7 D093 ; # capital G + E8 D0A5 ; # capital KH + E9 D098 ; # capital I + EA D099 ; # capital J + EB D09A ; # capital K + EC D09B ; # capital L + ED D09C ; # capital M + EE D09D ; # capital N + EF D09E ; # capital O + + F0 D09F ; # capital P + F1 D0AF ; # capital YA + F2 D0A0 ; # capital R + F3 D0A1 ; # capital S + F4 D0A2 ; # capital T + F5 D0A3 ; # capital U + F6 D096 ; # capital ZH + F7 D092 ; # capital V + F8 D0AC ; # capital soft sign + F9 D0AB ; # capital Y + FA D097 ; # capital Z + FB D0A8 ; # capital SH + FC D0AD ; # capital E + FD D0A9 ; # capital SHCH + FE D0A7 ; # capital CH + FF D0AA ; # capital hard sign +} diff --git a/x-conf/koi-win b/x-conf/koi-win new file mode 100644 index 0000000..72afabe --- /dev/null +++ b/x-conf/koi-win @@ -0,0 +1,103 @@ + +charset_map koi8-r windows-1251 { + + 80 88 ; # euro + + 95 95 ; # bullet + + 9A A0 ; #   + + 9E B7 ; # · + + A3 B8 ; # small yo + A4 BA ; # small Ukrainian ye + + A6 B3 ; # small Ukrainian i + A7 BF ; # small Ukrainian yi + + AD B4 ; # small Ukrainian soft g + AE A2 ; # small Byelorussian short u + + B0 B0 ; # ° + + B3 A8 ; # capital YO + B4 AA ; # capital Ukrainian YE + + B6 B2 ; # capital Ukrainian I + B7 AF ; # capital Ukrainian YI + + B9 B9 ; # numero sign + + BD A5 ; # capital Ukrainian soft G + BE A1 ; # capital Byelorussian short U + + BF A9 ; # (C) + + C0 FE ; # small yu + C1 E0 ; # small a + C2 E1 ; # small b + C3 F6 ; # small ts + C4 E4 ; # small d + C5 E5 ; # small ye + C6 F4 ; # small f + C7 E3 ; # small g + C8 F5 ; # small kh + C9 E8 ; # small i + CA E9 ; # small j + CB EA ; # small k + CC EB ; # small l + CD EC ; # small m + CE ED ; # small n + CF EE ; # small o + + D0 EF ; # small p + D1 FF ; # small ya + D2 F0 ; # small r + D3 F1 ; # small s + D4 F2 ; # small t + D5 F3 ; # small u + D6 E6 ; # small zh + D7 E2 ; # small v + D8 FC ; # small soft sign + D9 FB ; # small y + DA E7 ; # small z + DB F8 ; # small sh + DC FD ; # small e + DD F9 ; # small shch + DE F7 ; # small ch + DF FA ; # small hard sign + + E0 DE ; # capital YU + E1 C0 ; # capital A + E2 C1 ; # capital B + E3 D6 ; # capital TS + E4 C4 ; # capital D + E5 C5 ; # capital YE + E6 D4 ; # capital F + E7 C3 ; # capital G + E8 D5 ; # capital KH + E9 C8 ; # capital I + EA C9 ; # capital J + EB CA ; # capital K + EC CB ; # capital L + ED CC ; # capital M + EE CD ; # capital N + EF CE ; # capital O + + F0 CF ; # capital P + F1 DF ; # capital YA + F2 D0 ; # capital R + F3 D1 ; # capital S + F4 D2 ; # capital T + F5 D3 ; # capital U + F6 C6 ; # capital ZH + F7 C2 ; # capital V + F8 DC ; # capital soft sign + F9 DB ; # capital Y + FA C7 ; # capital Z + FB D8 ; # capital SH + FC DD ; # capital E + FD D9 ; # capital SHCH + FE D7 ; # capital CH + FF DA ; # capital hard sign +} diff --git a/x-conf/mime.types b/x-conf/mime.types new file mode 100644 index 0000000..2961256 --- /dev/null +++ b/x-conf/mime.types @@ -0,0 +1,97 @@ + +types { + text/html html htm shtml; + text/css css; + text/xml xml; + image/gif gif; + image/jpeg jpeg jpg; + application/javascript js; + application/atom+xml atom; + application/rss+xml rss; + + text/mathml mml; + text/plain txt; + text/vnd.sun.j2me.app-descriptor jad; + text/vnd.wap.wml wml; + text/x-component htc; + + image/png png; + image/svg+xml svg svgz; + image/tiff tif tiff; + image/vnd.wap.wbmp wbmp; + image/webp webp; + image/x-icon ico; + image/x-jng jng; + image/x-ms-bmp bmp; + + font/woff woff; + font/woff2 woff2; + + application/java-archive jar war ear; + application/json json; + application/mac-binhex40 hqx; + application/msword doc; + application/pdf pdf; + application/postscript ps eps ai; + application/rtf rtf; + application/vnd.apple.mpegurl m3u8; + application/vnd.google-earth.kml+xml kml; + application/vnd.google-earth.kmz kmz; + application/vnd.ms-excel xls; + application/vnd.ms-fontobject eot; + application/vnd.ms-powerpoint ppt; + application/vnd.oasis.opendocument.graphics odg; + application/vnd.oasis.opendocument.presentation odp; + application/vnd.oasis.opendocument.spreadsheet ods; + application/vnd.oasis.opendocument.text odt; + application/vnd.openxmlformats-officedocument.presentationml.presentation + pptx; + application/vnd.openxmlformats-officedocument.spreadsheetml.sheet + xlsx; + application/vnd.openxmlformats-officedocument.wordprocessingml.document + docx; + application/vnd.wap.wmlc wmlc; + application/x-7z-compressed 7z; + application/x-cocoa cco; + application/x-java-archive-diff jardiff; + application/x-java-jnlp-file jnlp; + application/x-makeself run; + application/x-perl pl pm; + application/x-pilot prc pdb; + application/x-rar-compressed rar; + application/x-redhat-package-manager rpm; + application/x-sea sea; + application/x-shockwave-flash swf; + application/x-stuffit sit; + application/x-tcl tcl tk; + application/x-x509-ca-cert der pem crt; + application/x-xpinstall xpi; + application/xhtml+xml xhtml; + application/xspf+xml xspf; + application/zip zip; + + application/octet-stream bin exe dll; + application/octet-stream deb; + application/octet-stream dmg; + application/octet-stream iso img; + application/octet-stream msi msp msm; + + audio/midi mid midi kar; + audio/mpeg mp3; + audio/ogg ogg; + audio/x-m4a m4a; + audio/x-realaudio ra; + + video/3gpp 3gpp 3gp; + video/mp2t ts; + video/mp4 mp4; + video/mpeg mpeg mpg; + video/quicktime mov; + video/webm webm; + video/x-flv flv; + video/x-m4v m4v; + video/x-mng mng; + video/x-ms-asf asx asf; + video/x-ms-wmv wmv; + video/x-msvideo avi; +} diff --git a/x-conf/nginx.conf b/x-conf/nginx.conf new file mode 100644 index 0000000..2a24569 --- /dev/null +++ b/x-conf/nginx.conf @@ -0,0 +1,50 @@ +worker_processes 1; +events { + worker_connections 1024; +} +http { + include mime.types; + default_type application/octet-stream; + sendfile on; + keepalive_timeout 65; + server { + listen 5050; + server_name localhost; + location / { + root html; + index index.html index.htm; + } + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root html; + } + } + server { + listen 5001; + server_name localhost; + location / { + proxy_pass http://localhost:5005; #APC Viewer + } + } +} +#cd "C:\Users\ECAPCSvc\AppData\Local\IFXApps\nginx-1.20.1" +#nginx -t +#nginx -s reload +# +#sc stop "APC Viewer 5002" +#sc stop "APC Viewer 5003" +#sc stop "APC Viewer 5004" +# +#sc stop "APC Viewer 5005" +# +#sc delete "APC Viewer 5002" +#sc delete "APC Viewer 5003" +#sc delete "APC Viewer 5004" +# +#sc delete "APC Viewer 5005" +# +#http://localhost:5002/Home/Background?APC +#http://localhost:5003/Home/Background/?APC +#http://localhost:5004/Home/Background/?APC +# +#http://localhost:5005/Home/Background/?APC \ No newline at end of file diff --git a/x-conf/scgi_params b/x-conf/scgi_params new file mode 100644 index 0000000..6d4ce4f --- /dev/null +++ b/x-conf/scgi_params @@ -0,0 +1,17 @@ + +scgi_param REQUEST_METHOD $request_method; +scgi_param REQUEST_URI $request_uri; +scgi_param QUERY_STRING $query_string; +scgi_param CONTENT_TYPE $content_type; + +scgi_param DOCUMENT_URI $document_uri; +scgi_param DOCUMENT_ROOT $document_root; +scgi_param SCGI 1; +scgi_param SERVER_PROTOCOL $server_protocol; +scgi_param REQUEST_SCHEME $scheme; +scgi_param HTTPS $https if_not_empty; + +scgi_param REMOTE_ADDR $remote_addr; +scgi_param REMOTE_PORT $remote_port; +scgi_param SERVER_PORT $server_port; +scgi_param SERVER_NAME $server_name; diff --git a/x-conf/uwsgi_params b/x-conf/uwsgi_params new file mode 100644 index 0000000..09c732c --- /dev/null +++ b/x-conf/uwsgi_params @@ -0,0 +1,17 @@ + +uwsgi_param QUERY_STRING $query_string; +uwsgi_param REQUEST_METHOD $request_method; +uwsgi_param CONTENT_TYPE $content_type; +uwsgi_param CONTENT_LENGTH $content_length; + +uwsgi_param REQUEST_URI $request_uri; +uwsgi_param PATH_INFO $document_uri; +uwsgi_param DOCUMENT_ROOT $document_root; +uwsgi_param SERVER_PROTOCOL $server_protocol; +uwsgi_param REQUEST_SCHEME $scheme; +uwsgi_param HTTPS $https if_not_empty; + +uwsgi_param REMOTE_ADDR $remote_addr; +uwsgi_param REMOTE_PORT $remote_port; +uwsgi_param SERVER_PORT $server_port; +uwsgi_param SERVER_NAME $server_name; diff --git a/x-conf/win-utf b/x-conf/win-utf new file mode 100644 index 0000000..ed8bc00 --- /dev/null +++ b/x-conf/win-utf @@ -0,0 +1,126 @@ + +# This map is not a full windows-1251 <> utf8 map: it does not +# contain Serbian and Macedonian letters. If you need a full map, +# use contrib/unicode2nginx/win-utf map instead. + +charset_map windows-1251 utf-8 { + + 82 E2809A ; # single low-9 quotation mark + + 84 E2809E ; # double low-9 quotation mark + 85 E280A6 ; # ellipsis + 86 E280A0 ; # dagger + 87 E280A1 ; # double dagger + 88 E282AC ; # euro + 89 E280B0 ; # per mille + + 91 E28098 ; # left single quotation mark + 92 E28099 ; # right single quotation mark + 93 E2809C ; # left double quotation mark + 94 E2809D ; # right double quotation mark + 95 E280A2 ; # bullet + 96 E28093 ; # en dash + 97 E28094 ; # em dash + + 99 E284A2 ; # trade mark sign + + A0 C2A0 ; #   + A1 D18E ; # capital Byelorussian short U + A2 D19E ; # small Byelorussian short u + + A4 C2A4 ; # currency sign + A5 D290 ; # capital Ukrainian soft G + A6 C2A6 ; # borken bar + A7 C2A7 ; # section sign + A8 D081 ; # capital YO + A9 C2A9 ; # (C) + AA D084 ; # capital Ukrainian YE + AB C2AB ; # left-pointing double angle quotation mark + AC C2AC ; # not sign + AD C2AD ; # soft hypen + AE C2AE ; # (R) + AF D087 ; # capital Ukrainian YI + + B0 C2B0 ; # ° + B1 C2B1 ; # plus-minus sign + B2 D086 ; # capital Ukrainian I + B3 D196 ; # small Ukrainian i + B4 D291 ; # small Ukrainian soft g + B5 C2B5 ; # micro sign + B6 C2B6 ; # pilcrow sign + B7 C2B7 ; # · + B8 D191 ; # small yo + B9 E28496 ; # numero sign + BA D194 ; # small Ukrainian ye + BB C2BB ; # right-pointing double angle quotation mark + + BF D197 ; # small Ukrainian yi + + C0 D090 ; # capital A + C1 D091 ; # capital B + C2 D092 ; # capital V + C3 D093 ; # capital G + C4 D094 ; # capital D + C5 D095 ; # capital YE + C6 D096 ; # capital ZH + C7 D097 ; # capital Z + C8 D098 ; # capital I + C9 D099 ; # capital J + CA D09A ; # capital K + CB D09B ; # capital L + CC D09C ; # capital M + CD D09D ; # capital N + CE D09E ; # capital O + CF D09F ; # capital P + + D0 D0A0 ; # capital R + D1 D0A1 ; # capital S + D2 D0A2 ; # capital T + D3 D0A3 ; # capital U + D4 D0A4 ; # capital F + D5 D0A5 ; # capital KH + D6 D0A6 ; # capital TS + D7 D0A7 ; # capital CH + D8 D0A8 ; # capital SH + D9 D0A9 ; # capital SHCH + DA D0AA ; # capital hard sign + DB D0AB ; # capital Y + DC D0AC ; # capital soft sign + DD D0AD ; # capital E + DE D0AE ; # capital YU + DF D0AF ; # capital YA + + E0 D0B0 ; # small a + E1 D0B1 ; # small b + E2 D0B2 ; # small v + E3 D0B3 ; # small g + E4 D0B4 ; # small d + E5 D0B5 ; # small ye + E6 D0B6 ; # small zh + E7 D0B7 ; # small z + E8 D0B8 ; # small i + E9 D0B9 ; # small j + EA D0BA ; # small k + EB D0BB ; # small l + EC D0BC ; # small m + ED D0BD ; # small n + EE D0BE ; # small o + EF D0BF ; # small p + + F0 D180 ; # small r + F1 D181 ; # small s + F2 D182 ; # small t + F3 D183 ; # small u + F4 D184 ; # small f + F5 D185 ; # small kh + F6 D186 ; # small ts + F7 D187 ; # small ch + F8 D188 ; # small sh + F9 D189 ; # small shch + FA D18A ; # small hard sign + FB D18B ; # small y + FC D18C ; # small soft sign + FD D18D ; # small e + FE D18E ; # small yu + FF D18F ; # small ya +}