diff --git a/docker/prod/default.conf b/docker/prod/default.conf index a2c11d5..4efc34a 100644 --- a/docker/prod/default.conf +++ b/docker/prod/default.conf @@ -82,6 +82,51 @@ server { } } +# kicc服务端网关 +server { + # 自定义访问端口 + listen 80; + + # 服务名称 + server_name kicc-gateway.kanglailab.com; + + # 把http的域名请求转成https + return 301 https://$host$request_uri; +} + +server { + # 自定义访问端口 + listen 443 ssl; + client_max_body_size 100M; + + # 服务名称 + server_name kicc-gateway.kanglailab.com; + + # ssl证书地址 + ssl_certificate /secret/kicc-gateway.kanglailab.com.pem; # pem文件的路径 + ssl_certificate_key /secret/kicc-gateway.kanglailab.com.key; # key文件的路径 + + # ssl验证相关配置 + ssl_session_timeout 5m; #缓存有效期 + ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #加密算法 + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #安全链接可选的加密协议 + ssl_prefer_server_ciphers on; #使用服务器端的首选算法 + + #设置转发请求头参数 + proxy_connect_timeout 15s; + proxy_send_timeout 15s; + proxy_read_timeout 15s; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + error_page 497 https://$host$request_uri; + + # 代理访问kicc网关地址 + location / { + proxy_pass http://localhost:9999; + } +} + # 代理公司遗留项目 server { # 自定义访问端口 diff --git a/docker/prod/secret/kicc-gateway.kanglailab.com.key b/docker/prod/secret/kicc-gateway.kanglailab.com.key new file mode 100644 index 0000000..ec8baa9 --- /dev/null +++ b/docker/prod/secret/kicc-gateway.kanglailab.com.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEA2ocE0mpSfXyOlT5gBTfdnZIOe/kyHGDptWlqFiENsPwPl335 +gE3gIa62VlWvcOO9RHH4s/VnBzsMM+9u+XTpjiiiKNkkaaRGXM52k0xDzr+QNeYE +rzJLwAZEoTspXoH6JYm3uYmwPUkGuId1CuslP4TswSmONuo2obOkY/2ulc4fYeQr +iipHjhbh+VrCmS4MgpnpPWHVtdH0eYwENh8ojRe63Tl9yQw0xAJZPjEYgHHTpJhA +CB+9XXIC71jiPUuZLtl0EUYLgmCQVm8MwITbfMtgyT0I2TeBkp4T1aQuMamXoxLz +C1JFqVrL5sJzEol8Aj/pYklRp/EulN3pEmx5KwIDAQABAoIBAFnE4Vw2xRA7nK7+ +Yp+CJY3XNBAFfGpf/WHCngvdJCyyPw1yeI4Wb54mkUzCAkITq+p0D0CN7PbxcL/c ++e+L8W2uj37MRMMI8sapIdi8mZZS50Dc7suxk6CccpDxJrtmFYZaHpkfUMC8QQCI +1LHZiwGe70sicQNqD2s5yqwwyAlNUpsEW2BPcOA5eotZOrDST6k0JQc/4tefGbhU +65AN/y0pdwwUOREM7HJZ7SxnWVvyfkHzOhKFEE6nf2Ba6CYwz5uh1lRl4pUyAbp2 +F0Z66dxLhhtZ1SugX1mhisAMJGTKr8ictXgVFsbZGPYo4udOIL9lisEV6CFhsA46 +F/tRbBECgYEA/Uc+4R2jff2DIK+6oFtxZ2eACZl+0f7iQz6RoyC580zgcB9F/y9L +3ybzUcGeHgY8zSzq6P0xjfZ0Ib/KPFCkMTUYa0MCRgKHgGVraL2uDnATA/kjbJ+y +tkiKI7XqS4Knl7hjAXWnvTnF5ZCa9rzp8PP0vJaIYkjSVVY0geaiun0CgYEA3OAs +7DPww0rCUpOWmvw/rHhsfDOKESB8eBZEdHj6LrxW+UrrNfpmf6ZkmGZgEdtotsc7 +4QUegHWUjuWOTQ/2BzB0bj63LotFpU26bJtECVzsrU6vDEiHOBc8CwnFXjvrknTU +Ik0M7GUCRgXOF2eV1/MiIgabl2Hq+R6deg+5KscCgYBGQnFK+XHVDXJGqvjWawd2 +a9u0zgPENTSG+uBjpDxxJa5M7B/6viAJ80AkOdWm9ov/TqqLn1ET1H46rn1nZedm +TxhLCPekfCcikv/MunGCR8y+mWoeQ97Leiv35Aruj3v2NowgZ4b0kwY2vHqAX791 +u/b0Kb4DpbfTPGqsblJN8QKBgQCodVHN1M+MIziSQn5bNohZwn77O1PSPDSyYklT +i/FEM+EhwUIjqRcDxKR0l6At/mme/dVtibn5v7POSMZ/f+zlDs++RZbwqMg1i1Lk +AoehnH3msFxRwf9fiFkDEjC17n189h3VC28P3Poe7c6Biz99tLITwXZpvwS3e+If +dl6DgQKBgEJfsoZgw9YXZerjAJ1koYshORrVCCpP0f/AozfLzIgI3LQoCCFVZHWu +1emsOjKUAP/+FmOFvE1ZC/UXf4FtSL5DhUub4Qbfafn4xItg8zccPJrIXz8x1omX +G8Jbe2m+EO1VQpgnB7UteJtIE7YcEgEkcoxz9qP5jMGUzA+/mzBw +-----END RSA PRIVATE KEY----- diff --git a/docker/prod/secret/kicc-gateway.kanglailab.com.pem b/docker/prod/secret/kicc-gateway.kanglailab.com.pem new file mode 100644 index 0000000..0b6a066 --- /dev/null +++ b/docker/prod/secret/kicc-gateway.kanglailab.com.pem @@ -0,0 +1,62 @@ +-----BEGIN CERTIFICATE----- +MIIGDjCCBPagAwIBAgIQA2yg9JD1MAYxIRmM8T/QDjANBgkqhkiG9w0BAQsFADBu +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMS0wKwYDVQQDEyRFbmNyeXB0aW9uIEV2ZXJ5d2hlcmUg +RFYgVExTIENBIC0gRzIwHhcNMjMxMTIwMDAwMDAwWhcNMjQxMTE5MjM1OTU5WjAm +MSQwIgYDVQQDExtraWNjLWdhdGV3YXkua2FuZ2xhaWxhYi5jb20wggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDahwTSalJ9fI6VPmAFN92dkg57+TIcYOm1 +aWoWIQ2w/A+XffmATeAhrrZWVa9w471Ecfiz9WcHOwwz7275dOmOKKIo2SRppEZc +znaTTEPOv5A15gSvMkvABkShOylegfolibe5ibA9SQa4h3UK6yU/hOzBKY426jah +s6Rj/a6Vzh9h5CuKKkeOFuH5WsKZLgyCmek9YdW10fR5jAQ2HyiNF7rdOX3JDDTE +Alk+MRiAcdOkmEAIH71dcgLvWOI9S5ku2XQRRguCYJBWbwzAhNt8y2DJPQjZN4GS +nhPVpC4xqZejEvMLUkWpWsvmwnMSiXwCP+liSVGn8S6U3ekSbHkrAgMBAAGjggLu +MIIC6jAfBgNVHSMEGDAWgBR435GQX+7erPbFdevVTFVT7yRKtjAdBgNVHQ4EFgQU +Ln5NMyMGnE/Nvq+y5eKsjKJRcgcwJgYDVR0RBB8wHYIba2ljYy1nYXRld2F5Lmth +bmdsYWlsYWIuY29tMD4GA1UdIAQ3MDUwMwYGZ4EMAQIBMCkwJwYIKwYBBQUHAgEW +G2h0dHA6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzAOBgNVHQ8BAf8EBAMCBaAwHQYD +VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMIGABggrBgEFBQcBAQR0MHIwJAYI +KwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBKBggrBgEFBQcwAoY+ +aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0VuY3J5cHRpb25FdmVyeXdoZXJl +RFZUTFNDQS1HMi5jcnQwDAYDVR0TAQH/BAIwADCCAX4GCisGAQQB1nkCBAIEggFu +BIIBagFoAHYA7s3QZNXbGs7FXLedtM0TojKHRny87N7DUUhZRnEftZsAAAGL66o1 +RAAABAMARzBFAiAqkrbjM3Z8ZmJxRDB3KfYt7zdup7iY73UDdmucFzr6EwIhAJ4B +MM0wl74COVrqiCz6zpSrgeSoPfooqV3AMEU82e++AHcASLDja9qmRzQP5WoC+p0w +6xxSActW3SyB2bu/qznYhHMAAAGL66o1DAAABAMASDBGAiEAqu8XGfEpLJDVWYFJ +TNLFLBDBcIxlHXilCcwIBMBAeKACIQDJ+yvE/OCHLFCUn9Ne8PjcA7Qdn55IO8dD +acxpBVPvCAB1ANq2v2s/tbYin5vCu1xr6HCRcWy7UYSFNL2kPTBI1/urAAABi+uq +NOgAAAQDAEYwRAIgdeCwIMX/VMqgRQc2F5gTC8Lk6c5dIqi5ZHtJgO8BN8cCIBb0 +MFLKwC//y3ZkW7deBUngYAfC1/vMa2T6WRq6elrIMA0GCSqGSIb3DQEBCwUAA4IB +AQAi6IZTkhbnqZDr+Uy9GWzjqLDk2G3KDL2CXywZs5vHGeqr8icnkKuu3SVkEnT4 +saxfGYHx0urCefV7OB+eCSh9RcqVzCuIZueheAQbLMs+XpUb6sHoIzmfEZ8wL9AT +Nhyum0gZCqIVwqa0kHbZKJiF6k9a4aJ88/5kOUqeU55QBSLW6v0peIVjlLfvHIP3 +ij9qz5Q9I+uHk+0qlUaMKSC0EL9ev1AseIr4oX0kdc6fAjEVzJhHonAF/VAqeq4T +zI8fnIaaroeCSn9FfnyibaIW/y8vgXE5jjrEbmJcmARZ2Sfl0W3VSXL7+Twl/tsz +8uqsmxmwPUFZh91kg+e1Rdgc +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIEqjCCA5KgAwIBAgIQDeD/te5iy2EQn2CMnO1e0zANBgkqhkiG9w0BAQsFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH +MjAeFw0xNzExMjcxMjQ2NDBaFw0yNzExMjcxMjQ2NDBaMG4xCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j +b20xLTArBgNVBAMTJEVuY3J5cHRpb24gRXZlcnl3aGVyZSBEViBUTFMgQ0EgLSBH +MjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAO8Uf46i/nr7pkgTDqnE +eSIfCFqvPnUq3aF1tMJ5hh9MnO6Lmt5UdHfBGwC9Si+XjK12cjZgxObsL6Rg1njv +NhAMJ4JunN0JGGRJGSevbJsA3sc68nbPQzuKp5Jc8vpryp2mts38pSCXorPR+sch +QisKA7OSQ1MjcFN0d7tbrceWFNbzgL2csJVQeogOBGSe/KZEIZw6gXLKeFe7mupn +NYJROi2iC11+HuF79iAttMc32Cv6UOxixY/3ZV+LzpLnklFq98XORgwkIJL1HuvP +ha8yvb+W6JislZJL+HLFtidoxmI7Qm3ZyIV66W533DsGFimFJkz3y0GeHWuSVMbI +lfsCAwEAAaOCAU8wggFLMB0GA1UdDgQWBBR435GQX+7erPbFdevVTFVT7yRKtjAf +BgNVHSMEGDAWgBROIlQgGJXm427mD/r6uRLtBhePOTAOBgNVHQ8BAf8EBAMCAYYw +HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMBIGA1UdEwEB/wQIMAYBAf8C +AQAwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdp +Y2VydC5jb20wQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybDMuZGlnaWNlcnQu +Y29tL0RpZ2lDZXJ0R2xvYmFsUm9vdEcyLmNybDBMBgNVHSAERTBDMDcGCWCGSAGG +/WwBAjAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy5kaWdpY2VydC5jb20vQ1BT +MAgGBmeBDAECATANBgkqhkiG9w0BAQsFAAOCAQEAoBs1eCLKakLtVRPFRjBIJ9LJ +L0s8ZWum8U8/1TMVkQMBn+CPb5xnCD0GSA6L/V0ZFrMNqBirrr5B241OesECvxIi +98bZ90h9+q/X5eMyOD35f8YTaEMpdnQCnawIwiHx06/0BfiTj+b/XQih+mqt3ZXe +xNCJqKexdiB2IWGSKcgahPacWkk/BAQFisKIFYEqHzV974S3FAz/8LIfD58xnsEN +GfzyIDkH3JrwYZ8caPTf6ZX9M1GrISN8HnWTtdNCH2xEajRa/h9ZBXjUyFKQrGk2 +n2hcLrfZSbynEC/pSw/ET7H5nWwckjmAJ1l9fcnbqkU/pf6uMQmnfl0JQjJNSg== +-----END CERTIFICATE----- diff --git a/package.json b/package.json index 7ca9187..65f7e6f 100644 --- a/package.json +++ b/package.json @@ -85,6 +85,7 @@ "autoprefixer": "^10.4.4", "conventional-changelog-cli": "^2.2.2", "cross-env": "^7.0.3", + "dotenv": "^16.0.0", "eslint": "^8.13.0", "eslint-define-config": "^1.1.1", "eslint-plugin-vue": "^8.6.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a0c26df..a380763 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -39,6 +39,7 @@ specifiers: cross-env: ^7.0.3 crypto-js: ^4.1.1 dayjs: ^1.11.1 + dotenv: ^16.0.0 echarts: ^5.3.2 eslint: ^8.13.0 eslint-define-config: ^1.1.1 @@ -154,6 +155,7 @@ devDependencies: autoprefixer: 10.4.16 conventional-changelog-cli: 2.2.2 cross-env: 7.0.3 + dotenv: 16.3.1 eslint: 8.49.0 eslint-define-config: 1.23.0 eslint-plugin-vue: 8.7.1_eslint@8.49.0