Browse Source

fix: dev and prod

master
wangxiang 2 years ago
parent
commit
8a81818395
No known key found for this signature in database
GPG Key ID: 1BA7946AB6B232E4
  1. 6
      docker/development/Dockerfile
  2. 53
      docker/development/default.conf
  3. 21
      docker/docker-compose.yaml
  4. 10
      docker/production/Dockerfile
  5. 82
      docker/production/default.conf

6
docker/Dockerfile → docker/development/Dockerfile

@ -1,10 +1,10 @@
FROM nginx FROM nginx
COPY ./dist /data COPY ../dist /data
COPY ./secret /secret COPY ../secret /secret
RUN rm /etc/nginx/conf.d/default.conf RUN rm /etc/nginx/conf.d/default.conf
ADD kicc-ui.conf /etc/nginx/conf.d/ ADD default.conf /etc/nginx/conf.d/
RUN /bin/bash -c 'echo init ok' RUN /bin/bash -c 'echo init ok'

53
docker/development/default.conf

@ -0,0 +1,53 @@
# 如果没有显式声明 default server 则第一个 server 会被隐式的设为 default server
server {
# 自定义访问端口
listen 80;
client_max_body_size 100M;
# 服务名称
server_name localhost;
# 代理访问根地址
root /data;
#设置转发请求头参数
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;
# 代理访问kicc-ui地址
location / {
try_files $uri $uri/ /index.html;
error_page 405 =200 https://$host$request_uri;
}
# 代理访问后端微服务网关地址
location ^~/prod-api/ {
rewrite ^/prod-api/(.*)$ /$1 break;
proxy_pass http://kicc-gateway:9999;
}
# 代理访问后端上传地址
location ^~/prod-upload {
rewrite ^/prod-upload(.*)$ /system_proxy/system/file/upload break;
proxy_pass http://kicc-gateway:9999;
}
# 代理访问后端文件在线预览地址
location ^~/prod-preview/ {
proxy_pass http://kicc-fileview:8012/;
}
# 代理访问后端微服务报表地址,绕过https不能内嵌http
location ^~/ureport/ {
proxy_pass http://kicc-gateway:9999/report_proxy/ureport/;
}
# 代理访问后端微服务大屏设计器地址(直接代理线上)
location ^~/bigscreen/ {
proxy_pass http://kicc.kanglailab.com:8085/;
}
}

21
docker/docker-compose.yaml

@ -4,17 +4,24 @@
version: '3' version: '3'
services: services:
kicc-ui: kicc-ui-dev:
build: build:
context: . context: ./development
restart: always restart: always
container_name: kicc-ui container_name: kicc-ui-dev
image: kicc-ui image: kicc-ui-dev
networks: networks:
- docker-cloud_default - docker-cloud_default
external_links: ports:
- kicc-gateway - 80:80
- kicc-fileview - 443:443
kicc-ui-prod:
build:
context: ./production
restart: always
container_name: kicc-ui-prod
image: kicc-ui-prod
network_mode: 'host'
ports: ports:
- 80:80 - 80:80
- 443:443 - 443:443

10
docker/production/Dockerfile

@ -0,0 +1,10 @@
FROM nginx
COPY ../dist /data
COPY ../secret /secret
RUN rm /etc/nginx/conf.d/default.conf
ADD default.conf /etc/nginx/conf.d/
RUN /bin/bash -c 'echo init ok'

82
docker/kicc-ui.conf → docker/production/default.conf

@ -1,16 +1,36 @@
# 如果没有显式声明 default server 则第一个 server 会被隐式的设为 default server # 如果没有显式声明 default server 则第一个 server 会被隐式的设为 default server
# development环境(不需要配置https会导致开发时无法内嵌http页面)
server { server {
# 自定义访问端口 # 自定义访问端口
listen 80; listen 80;
# 服务名称
server_name kicc.kanglailab.com;
# 把http的域名请求转成https
return 301 https://$host$request_uri;
}
server {
# 自定义访问端口
listen 443 ssl;
client_max_body_size 100M; client_max_body_size 100M;
# 服务名称 # 服务名称
server_name localhost; server_name kicc.kanglailab.com;
# 代理访问根地址 # 代理访问根地址
root /data; root /data;
# ssl证书地址
ssl_certificate /secret/ssl.pem; # pem文件的路径
ssl_certificate_key /secret/ssl.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_connect_timeout 15s;
proxy_send_timeout 15s; proxy_send_timeout 15s;
@ -18,33 +38,49 @@ server {
proxy_set_header Host $http_host; proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
error_page 497 https://$host$request_uri;
# 代理访问kicc-ui地址 # 代理访问kicc-ui地址
location / { location / {
try_files $uri $uri/ /index.html; try_files $uri $uri/ /index.html;
error_page 405 =200 http://$host$request_uri; error_page 405 =200 https://$host$request_uri;
} }
# 代理访问后端微服务网关地址 # 代理访问后端微服务网关地址
location ^~/prod-api/ { location ^~/prod-api/ {
rewrite ^/prod-api/(.*)$ /$1 break; rewrite ^/prod-api/(.*)$ /$1 break;
proxy_pass http://kicc-gateway:9999; proxy_pass http://localhost:9999;
} }
# 代理访问后端上传地址 # 代理访问后端上传地址
location ^~/prod-upload { location ^~/prod-upload {
rewrite ^/prod-upload(.*)$ /system_proxy/system/file/upload break; rewrite ^/prod-upload(.*)$ /system_proxy/system/file/upload break;
proxy_pass http://kicc-gateway:9999; proxy_pass http://localhost:9999;
}
# 代理访问后端文件在线预览地址
location ^~/prod-preview/ {
proxy_pass http://localhost:8012/;
}
# 代理访问后端微服务报表地址,绕过https不能内嵌http
location ^~/ureport/ {
proxy_pass http://localhost:9999/report_proxy/ureport/;
}
# 代理访问后端微服务大屏设计器地址
location ^~/bigscreen/ {
proxy_pass http://localhost:8085/;
} }
} }
# production环境(目前为了部署方便development环境跟production环境通用) #代理公司遗留项目
server { server {
# 自定义访问端口 # 自定义访问端口
listen 80; listen 80;
# 服务名称 # 服务名称
server_name kicc.kanglailab.com; server_name spnapi.kanglailab.com;
# 把http的域名请求转成https # 把http的域名请求转成https
return 301 https://$host$request_uri; return 301 https://$host$request_uri;
@ -56,7 +92,7 @@ server {
client_max_body_size 100M; client_max_body_size 100M;
# 服务名称 # 服务名称
server_name kicc.kanglailab.com; server_name spnapi.kanglailab.com;
# 代理访问根地址 # 代理访问根地址
root /data; root /data;
@ -82,34 +118,6 @@ server {
# 代理访问kicc-ui地址 # 代理访问kicc-ui地址
location / { location / {
try_files $uri $uri/ /index.html; proxy_pass http://localhost:8050;
error_page 405 =200 https://$host$request_uri;
}
# 代理访问后端微服务网关地址
location ^~/prod-api/ {
rewrite ^/prod-api/(.*)$ /$1 break;
proxy_pass http://kicc-gateway:9999;
}
# 代理访问后端上传地址
location ^~/prod-upload {
rewrite ^/prod-upload(.*)$ /system_proxy/system/file/upload break;
proxy_pass http://kicc-gateway:9999;
}
# 代理访问后端文件在线预览地址
location ^~/prod-preview/ {
proxy_pass http://kicc-fileview:8012/;
}
# 代理访问后端微服务报表地址,绕过https不能内嵌http
location ^~/ureport/ {
proxy_pass http://kicc-gateway:9999/report_proxy/ureport/;
}
# 代理访问后端微服务大屏设计器地址
location ^~/bigscreen/ {
proxy_pass http://kicc.kanglailab.com:8085/;
} }
} }
Loading…
Cancel
Save