Former-commit-id: 9d9d383b3e65f2d99df6201292237b0feaa5be46
TangShanKaiPing
wanggang 5 years ago
parent 9b6f67ba35
commit aa3cd78345

@ -102,4 +102,11 @@ PermitRootLogin yes
====================================
chmod 777 /root/publish/apps/seaweedfs/weed
chmod 777 /root/publish/apps/seaweedfs/weed
wget https://repo.mysql.com/mysql-apt-config_0.8.14-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.14-1_all.deb
sudo apt update
sudo apt-get install mysql-server
修改时区
sudo timedatectl set-timezone Asia/Shanghai

@ -0,0 +1 @@
地址221.194.113.154端口5888 用户名root 密码fa

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

@ -12,4 +12,16 @@ services:
- ./nginx/conf/edusoa.key:/etc/nginx/edusoa.key
- ./nginx/conf/edusoa.pem:/etc/nginx/edusoa.pem
- ./nginx/log:/var/log/nginx
network_mode: "host"
ports:
- 80:80
- 443:443
usercenter:
image: mcr.microsoft.com/dotnet/core/runtime-deps:3.1-focal
container_name: usercenter
volumes:
- ./UserCenter:/UserCenter
command: bash -c "
chmod +x /UserCenter/UserCenter
&& cd /UserCenter
&& ./UserCenter
"

@ -1,103 +1,104 @@
#user nobody;
worker_processes 1;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
types {
application/vnd.android.package-archive apk;
application/iphone pxl ipa;
text/plain plist;
include mime.types;
default_type application/octet-stream;
types {
application/vnd.android.package-archive apk;
application/iphone pxl ipa;
text/plain plist;
}
sendfile on;
keepalive_timeout 65;
# Docker DNS
resolver 127.0.0.11;
upstream go-fastdfs {
server 10.10.24.104:8180;
ip_hash;
}
server {
listen 80;
listen 443 ssl;
server_name iot.edusoa.com;
#ssl on;
ssl_certificate edusoa.pem;
ssl_certificate_key edusoa.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM;
ssl_prefer_server_ciphers on;
location / {
#proxy_set_header Host $host:$server_port;
if ($http_user_agent ~* "(mobile|android|ipad|iphone|ipod|tablet)") {
proxy_pass http://localhost:5002;
break;
}
proxy_pass http://localhost:5001/;
}
sendfile on;
location ^~ /dfs/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://go-fastdfs/;
}
keepalive_timeout 65;
location ^~ /live/ {
proxy_pass http://localhost:8080/live/;
}
upstream go-fastdfs {
server 10.10.24.104:8180;
ip_hash;
location ^~ /video/ {
proxy_pass http://localhost:8080/video/;
}
server {
listen 80;
listen 443 ssl;
server_name iot.edusoa.com;
#ssl on;
ssl_certificate edusoa.pem;
ssl_certificate_key edusoa.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM;
ssl_prefer_server_ciphers on;
location / {
#proxy_set_header Host $host:$server_port;
if ($http_user_agent ~* "(mobile|android|ipad|iphone|ipod|tablet)") {
proxy_pass http://localhost:5002;
break;
}
proxy_pass http://localhost:5001/;
}
location ^~ /dfs/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://go-fastdfs/;
}
location ^~ /live/ {
proxy_pass http://localhost:8080/live/;
}
location ^~ /video/ {
proxy_pass http://localhost:8080/video/;
}
location ^~ /UserCenter/ {
proxy_pass http://localhost:8010/UserCenter/;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location ^~ /IoTCenter/ {
proxy_pass http://localhost:8011/IoTCenter/;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location ^~ /IoTCenter/hub {
proxy_pass http://localhost:8011/IoTCenter/hub;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location ^~ /JobServer/ {
proxy_pass http://localhost:8013/JobServer/;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ^~ /UserCenter/ {
proxy_pass http://usercenter/UserCenter/;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location ^~ /IoTCenter/ {
proxy_pass http://localhost:8011/IoTCenter/;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location ^~ /IoTCenter/hub {
proxy_pass http://localhost:8011/IoTCenter/hub;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location ^~ /JobServer/ {
proxy_pass http://localhost:8013/JobServer/;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}

@ -19,7 +19,7 @@ namespace UserCenter
services.AddTransient<IDbConfig, DbConfig>();
services.AddTransient<IRoleService, RoleService>();
services.AddTransient<IEmailSender, EmailSender>();
services.AddTransient<ISmsSender, NetEasySmsSender>();
services.AddTransient<ISmsSender, EmptySmsSender>();
//services.AddSingleton<FaceRecognitionService>();
base.ConfigureServices(services);
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 242 KiB

@ -0,0 +1,103 @@
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
types {
application/vnd.android.package-archive apk;
application/iphone pxl ipa;
text/plain plist;
}
sendfile on;
keepalive_timeout 65;
upstream go-fastdfs {
server 10.10.24.104:8180;
ip_hash;
}
server {
listen 80;
listen 443 ssl;
server_name localhost;
#ssl_certificate edusoa.pem;
#ssl_certificate_key edusoa.key;
#ssl_session_timeout 5m;
#ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#启用TLS1.1、TLS1.2要求OpenSSL1.0.1及以上版本若您的OpenSSL版本低于要求请使用 ssl_protocols TLSv1;
#ssl_ciphers HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM;
#ssl_prefer_server_ciphers on;
location / {
#proxy_set_header Host $host:$server_port;
if ($http_user_agent ~* "(mobile|android|ipad|iphone|ipod|tablet)") {
proxy_pass http://localhost:5002;
break;
}
proxy_pass http://localhost:5001/;
}
location ^~ /dfs/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://go-fastdfs/;
}
location ^~ /live/ {
proxy_pass http://localhost:8080/live/;
}
location ^~ /video/ {
proxy_pass http://localhost:8080/video/;
}
location ^~ /UserCenter/ {
proxy_pass http://localhost:8010/UserCenter/;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location ^~ /IoTCenter/ {
proxy_pass http://localhost:8011/IoTCenter/;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location ^~ /IoTCenter/hub {
proxy_pass http://localhost:8011/IoTCenter/hub;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location ^~ /JobServer/ {
proxy_pass http://localhost:8013/JobServer/;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}

@ -0,0 +1,8 @@
influxdb
mysql
log
UserCenter
IoTCenter
JobServer
WebMVC
WebSPA

@ -0,0 +1,53 @@
version: "3.8"
services:
mysql:
image: mysql:8.0
restart: always
hostname: mysql
environment:
MYSQL_ROOT_PASSWORD: root
command: --default-authentication-plugin=mysql_native_password
volumes:
- ./mysql:/var/lib/mysql
influxdb:
image: influxdb:1.8
restart: always
hostname: influxdb
environment:
INFLUXDB_ADMIN_ENABLED: "true"
INFLUXDB_ADMIN_USER: admin
INFLUXDB_ADMIN_PASSWORD: admin
volumes:
- ./influxdb:/var/lib/influxdb
nginx:
image: nginx:1.18
restart: always
hostname: nginx
ports:
- 80:80
- 443:443
links:
- usercenter
- iotcenter
volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
- ./nginx/edusoa.key:/etc/nginx/edusoa.key
- ./nginx/edusoa.pem:/etc/nginx/edusoa.pem
- ./log/nginx:/var/log/nginx
usercenter:
image: mcr.microsoft.com/dotnet/core/runtime-deps:3.1-focal
restart: always
depends_on:
- mysql
command: bash -c "chmod +x /UserCenter/UserCenter && cd /UserCenter && ./UserCenter"
volumes:
- ./UserCenter:/UserCenter
iotcenter:
image: mcr.microsoft.com/dotnet/core/runtime-deps:3.1-focal
restart: always
depends_on:
- mysql
- influxdb
command: bash -c "chmod +x /IoTCenter/IoTCenter && cd /IoTCenter && ./IoTCenter"
volumes:
- ./IotCenter:/IoTCenter

@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEA5vvS8tFXCO/L7gPl/x8iqkJBjWM9MsvNHTkiqJa7gP1CA1bO
qp4yVtVUdikiz8bmFchgfZHUs7QhZC3KM0araAFwym/SgAN4/STO+Mj9EHqVJqlu
k6kwZHTF77sZDppbyCEARf0ev5cGKQ44V0xHROOywdHbn0gTLX+Pz+4giPA5lQt+
hxAL7dYDpumY3H0ZSO/+bn4YFCTHPdIkEqVJ0ifhCR/FR/x+GxAvosU29IV0/Vdj
X1YFq6Si4jMMNlJwgAwkdXTMOlaLe3fKv4X59aIHcBZecv7FukAm4WSPgHKrvwnv
wHDQsV3qRqtxUQzvVbuqTaowaMrK+OeBgASRLQIDAQABAoIBAG65mM29fDNUgDWA
uOgrTLrBOBtGzzdiatjvYqXeW9Phk5t2KWuwmgD2Ep7x6TYg6nrWqyqGlafvWXJk
YOFjpxccWa0xHX8wKvduhajM8ELOAGGgJtmx6Pi+4YOh9MkDRawR5cenJu5Avzs/
DdMLRb7ISBCRQO6B5m+RDqdmR0JcvJVhg/8EFd/P4VLRVRiUx5kfA0KSLpGFNJ8b
aYxiHkW/4DIjlRBqa6ClZYjxQqek683h7S9aInB4gLgrA9fGSQ8+mPyvCSaANP79
Npo0uN9v3ecdC97uDTRdhhxRmXYcXLL3VI17X6YE6YekarLVfHJWpl8coN2ALmZJ
5vWqeyECgYEA9mSwyr9HB7Iemx7jeJHo79pqWoflqqdYSf35jz6GOSZCkROocLzI
hVeXXwM1Gb882fRB0GUM+vsX9ypNP4jtelsBHt1CcPmdNYylN9C2+u4R9EPZC6BW
KiEsTJUmAWEK8poKa/DZBi/NS+wNyWUgkpwsFr9XbOzuPaMOVIldjDcCgYEA7/1T
hSpZ9WdIDhdavjr7roBD0/90G4Q8gBUlf/g04c0Xp9FzXDQdH1S0zeYbp+yqbWE9
P+pic35UVlB58WvtM4IjAoD9Leae58TSh0TER66jU9lssS9obWyH3sfpXswcRpyW
oOlX7bJ8N8YAAhXGCVlAGrZj+VAtB5QaIIQJg7sCgYEAy2ULXBLSO9QZ18uD03//
XiBbMyiDuoAyLcJuRIVEn+CpisFDhu0QSqKn3lLzfrGTNgigW7tPH9AvVGWjJxON
ljeRkTztH/2ufQoBSTYOFs54G7/2Z9aPym9f9kgY+4J0Wxg2CizjumuzeTz/lITa
gqxQ6OZC8TQU5uS3a6mJg7kCgYAp/443NrMphBqTBLlHozDaV+4G0qSyEBE6ZPj8
DSbMAUVLhBcJIsGZ8wv1IHjkiUFGBQdgARebmJcPx+OfQUDwi6yuyn4EI2DZtJMX
QwyKcuB4Uwt3cpF23NBmR1vq0BN+s/aUUGGn4l1ksUzdEIxopGrYgeS7A7Htqphr
6k9z8wKBgBwcnQJIY2g0cxkt6Idn2Ck2cn0UV0UMH78YqN4FE9LmkFlKw7eE7FiB
MH4hAVqSAJ64AKEv5Jt6MZamHPPmSj7A6Tj8F1KbJcGZvCpyfo1b76/LRKd1uzAV
CkjdHPp+tLywydadCRuHxtbSpLF9N91hIMDpdvLzQ3qclhT6GjtF
-----END RSA PRIVATE KEY-----

@ -0,0 +1,91 @@
-----BEGIN CERTIFICATE-----
MIIG2DCCBcCgAwIBAgIQDVAa3KQd3HqHhEcYxvwUETANBgkqhkiG9w0BAQsFADBf
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMR4wHAYDVQQDExVHZW9UcnVzdCBDTiBSU0EgQ0EgRzEw
HhcNMTkwODAyMDAwMDAwWhcNMjEwODAxMTIwMDAwWjCBkjELMAkGA1UEBhMCQ04x
DzANBgNVBAgMBuWQieaelzEPMA0GA1UEBwwG6ZW/5pilMTMwMQYDVQQKDCrkuJzl
jJfluIjlpKfnkIbmg7Pova/ku7bogqHku73mnInpmZDlhazlj7gxFTATBgNVBAsM
DFRlYWNoICZTdHVkeTEVMBMGA1UEAwwMKi5lZHVzb2EuY29tMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5vvS8tFXCO/L7gPl/x8iqkJBjWM9MsvNHTki
qJa7gP1CA1bOqp4yVtVUdikiz8bmFchgfZHUs7QhZC3KM0araAFwym/SgAN4/STO
+Mj9EHqVJqluk6kwZHTF77sZDppbyCEARf0ev5cGKQ44V0xHROOywdHbn0gTLX+P
z+4giPA5lQt+hxAL7dYDpumY3H0ZSO/+bn4YFCTHPdIkEqVJ0ifhCR/FR/x+GxAv
osU29IV0/VdjX1YFq6Si4jMMNlJwgAwkdXTMOlaLe3fKv4X59aIHcBZecv7FukAm
4WSPgHKrvwnvwHDQsV3qRqtxUQzvVbuqTaowaMrK+OeBgASRLQIDAQABo4IDWjCC
A1YwHwYDVR0jBBgwFoAUkZ9eMRWuEJ+tYMH3wcyqSDQvDCYwHQYDVR0OBBYEFCfR
yJ1xXm33YNyzOHnTZM2dFccPMCMGA1UdEQQcMBqCDCouZWR1c29hLmNvbYIKZWR1
c29hLmNvbTAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsG
AQUFBwMCMHUGA1UdHwRuMGwwNKAyoDCGLmh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNv
bS9HZW9UcnVzdENOUlNBQ0FHMS5jcmwwNKAyoDCGLmh0dHA6Ly9jcmw0LmRpZ2lj
ZXJ0LmNvbS9HZW9UcnVzdENOUlNBQ0FHMS5jcmwwTAYDVR0gBEUwQzA3BglghkgB
hv1sAQEwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQ
UzAIBgZngQwBAgIwbwYIKwYBBQUHAQEEYzBhMCEGCCsGAQUFBzABhhVodHRwOi8v
b2NzcC5kY29jc3AuY24wPAYIKwYBBQUHMAKGMGh0dHA6Ly9jcmwuZGlnaWNlcnQt
Y24uY29tL0dlb1RydXN0Q05SU0FDQUcxLmNydDAJBgNVHRMEAjAAMIIBfQYKKwYB
BAHWeQIEAgSCAW0EggFpAWcAdgC72d+8H4pxtZOUI5eqkntHOFeVCqtS6BqQlmQ2
jh7RhQAAAWxQXW/EAAAEAwBHMEUCIQDZhWuvn5hItpDiryuFo0ed2a6qCyu+6Nzj
hoFpYvhLLwIgNL7a0HNsWdPORihBATnbip942aQ+Wvz1N07/qQ3OJD8AdgCHdb/n
WXz4jEOZX73zbv9WjUdWNv9KtWDBtOr/XqCDDwAAAWxQXXBiAAAEAwBHMEUCIQCl
yTwBdNkJQMilIoRQrQOvbvihB4uvLMlssZknLmFsHAIgXt1Vn/ETW1xdyvzQH+vx
nrYdPP4NfmL7lU+tpa5tbDEAdQBElGUusO7Or8RAB9io/ijA2uaCvtjLMbU/0zOW
tbaBqAAAAWxQXW95AAAEAwBGMEQCICkw8IA+wHkgV10OkfsbEVYFVEpA13+Z3aYb
2mH89UA+AiAFyKjBvB+2kqFojAAPmUp8rgkgkY/f39MzCl4NOmmunjANBgkqhkiG
9w0BAQsFAAOCAQEAdsJDXde74RTRXW7ZEa7FQuaQKZFQkEKUPtRTr2RqGAPr1eqq
DmccPGeIAtvQnkOLIN4B0TQxxzniNhkMHTDOWbvzBmMtWjA4h7rH/eu4rKEE4d6E
zDXqMDAGrV1v8TmfGS7joCAqCBFLOifal8h7MivyMT5hjokTqi4pM+qDt1A+DHj+
PtDFnNu/3XvYt64saJEtoAdyqT3Tbk8BR8OTzpXPlk5no/qP9p6lX/UoaJ06tasi
crni8LSYPbaBYT/HbFSzWtwAe5Azn9p9sGSQHgVb2Z4ryCDAwAXZJuy/GfCCvs4w
Jj9sK+F9aHBzU9PnudLr/vLS6w6BJPpg9E00qw==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFGjCCBAKgAwIBAgIQCgRw0Ja8ihLIkKbfgm7sSzANBgkqhkiG9w0BAQsFADBh
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
QTAeFw0xOTA2MjAxMjI3NThaFw0yOTA2MjAxMjI3NThaMF8xCzAJBgNVBAYTAlVT
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
b20xHjAcBgNVBAMTFUdlb1RydXN0IENOIFJTQSBDQSBHMTCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBALFJ+j1KeZVG4jzgQob23lQ8PJUNhY31ufZihuUx
hYc6HSU4Lw0fxfA43a9DpJl74M3E6F1ZRBOfJ+dWnaiyYD0PxRIQd4wJisti4Uad
vz61IYY/oQ/Elxk/X7GFDquYuxCSyBdHtTVMXCxFSvQ2C/7jWZFDfGGKKNoQSiJy
wDe8iiHbUOakLMmXmOTZyWJnFdR/TH5YNTiMKCNUPHAleG4IigGxDyL/gbwrdDNi
bDA4lUNhD0xNvPjQ8BNKqm5HWDvirUuHdC+4hpi0GJO34O3iiRV16YmWTuVFNboU
LDZ0+PQtctJnatpuZKPGyKX6jCpPvzzPw/EhNDlpEdrYHZMCAwEAAaOCAc4wggHK
MB0GA1UdDgQWBBSRn14xFa4Qn61gwffBzKpINC8MJjAfBgNVHSMEGDAWgBQD3lA1
VtFMu2bwo+IbG8OXsj3RVTAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0lBBYwFAYIKwYB
BQUHAwEGCCsGAQUFBwMCMA8GA1UdEwEB/wQFMAMBAf8wMQYIKwYBBQUHAQEEJTAj
MCEGCCsGAQUFBzABhhVodHRwOi8vb2NzcC5kY29jc3AuY24wRAYDVR0fBD0wOzA5
oDegNYYzaHR0cDovL2NybC5kaWdpY2VydC1jbi5jb20vRGlnaUNlcnRHbG9iYWxS
b290Q0EuY3JsMIHOBgNVHSAEgcYwgcMwgcAGBFUdIAAwgbcwKAYIKwYBBQUHAgEW
HGh0dHBzOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwgYoGCCsGAQUFBwICMH4MfEFu
eSB1c2Ugb2YgdGhpcyBDZXJ0aWZpY2F0ZSBjb25zdGl0dXRlcyBhY2NlcHRhbmNl
IG9mIHRoZSBSZWx5aW5nIFBhcnR5IEFncmVlbWVudCBsb2NhdGVkIGF0IGh0dHBz
Oi8vd3d3LmRpZ2ljZXJ0LmNvbS9ycGEtdWEwDQYJKoZIhvcNAQELBQADggEBABfg
eXrxIrtlixBv+KMDeqKxtNJbZiLDzJBkGCd4HI63X5eS6BElJBn6mI9eYVrr7qOL
Tp7WiO02Sf1Yrpaz/ePSjZ684o89UAGpxOfbgVSMvo/a07n/220jUWLxzaJhQNLu
lACXwwWsxYf8twP8glkoIHnUUNTlhsyyl1ZzvVC4bDpI4hC6QkJGync1MNqYSMj8
tZbhQNw3HdSmcTO0Nc/J/pK2VZc6fFbKBgspmzdHc6jMKG2t4lisXEysS3wPcg0a
Nfr1Odl5+myh3MnMK08f6pTXvduLz+QZiIh8IYL+Z6QWgTZ9e2jnV8juumX1I8Ge
7cZdtNnTCB8hFfwGLUA=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB
CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97
nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt
43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P
T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4
gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO
BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR
TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw
DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr
hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg
06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF
PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls
YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
-----END CERTIFICATE-----

@ -0,0 +1,104 @@
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
types {
application/vnd.android.package-archive apk;
application/iphone pxl ipa;
text/plain plist;
}
sendfile on;
keepalive_timeout 65;
# Docker DNS
#resolver 127.0.0.11;
upstream go-fastdfs {
server 10.10.24.104:8180;
ip_hash;
}
server {
listen 80;
listen 443 ssl;
server_name iot.edusoa.com;
#ssl on;
ssl_certificate edusoa.pem;
ssl_certificate_key edusoa.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM;
ssl_prefer_server_ciphers on;
location / {
#proxy_set_header Host $host:$server_port;
if ($http_user_agent ~* "(mobile|android|ipad|iphone|ipod|tablet)") {
proxy_pass http://localhost:5002;
break;
}
proxy_pass http://localhost:5001/;
}
location ^~ /dfs/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://go-fastdfs/;
}
location ^~ /live/ {
proxy_pass http://localhost:8080/live/;
}
location ^~ /video/ {
proxy_pass http://localhost:8080/video/;
}
location ^~ /UserCenter/ {
proxy_pass http://usercenter/UserCenter/;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location ^~ /IoTCenter/ {
proxy_pass http://iotcenter/IoTCenter/;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location ^~ /IoTCenter/hub {
proxy_pass http://localhost:8011/IoTCenter/hub;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location ^~ /JobServer/ {
proxy_pass http://localhost:8013/JobServer/;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}

@ -0,0 +1,7 @@
portainer:
image: portainer:linux-s390x-1.23.2
ports:
- 9000:9000
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./portainer:/data

@ -32,7 +32,7 @@ http {
server {
listen 80;
listen 443 ssl;
#listen 443 ssl;
server_name iot.edusoa.com;
#ssl on;

Loading…
Cancel
Save