首先声明,服务器是linux 版本是ubuntu server 18.04,不是windows server。windows server 2016放弃治疗了,2019可能会有改善,不过云厂商的公共镜像并没有。windows container折腾死人啊.

架构如上图所示,.net core应用通过docker运行,监听11101端口,不对外部开放。

angular应用通过nginx 镜像运行,监听11102端口,不对外部开放。

主nginx容器监听某个域名80端口,配置端口转发至11101,监听另一个域名的80端口,配置端口转发至11102。

这样对于外部来说就像是直接通过那两个域名进行访问一样。

三个容器运行情况如下所示,.net core应用容器监听11101端口,ng应用容器监听11102端口,nginx容器监听80和443端口

nginx的配置如下。

用的是华为云的CES,有个小坑,就是localhost总是用不了,得用局域网IP, 我这里配置的就是192.168.1.122这里除了转发请求外还有两个点需要注意,Abp.TenantId请求头中有小数点.对于nginx来说是非法的请求头,默认是会被过滤掉的,所以需要手动配置关闭过滤,也就是图中的

ignore_invalid_headers off;  

说实话被这个坑困扰了好久,最终还是在abp的github issues中找到了。

还有另一个就是url rewrite的问题,之前部署在iis是安装了iis 的rewrite模块,但在nginx中url rewrite是重定向配置,也是找了好久才找到是url和文件路径匹配。解决这个问题需要修改前端站点的nginx配置

加上标记的那行,表示url和文件路径匹配。

后两行是设定index所在路径。

这样配置的效果就是http请求转发到了前端ng站点,https的请求转发到了.net core的webapi站点。

前端站点每个容器都要进去修改nginx配置文件也很麻烦,既然如此,那当然是改nginx镜像啦。下一篇见。

转载于:https://www.cnblogs.com/turingguo/p/10383352.html

docker nginx部署.net core后端站点和angular前端站点相关推荐

  1. 【Vue】Docker + Nginx 部署 Vue3.0 项目

    Docker + Nginx 部署 Vue3.0 项目 1.用指令 npm run build 打包vue.js项目(该项目是在WebStorm里面新建的Vue空项目). 打包成功后,会生成一个目录d ...

  2. Docker+Nginx部署Angular国际化i18n

    Docker+Nginx部署Angular国际化i18n 在Angular项目中添加default.conf文件 default.conf 为了支持局域网,增加一个域名,即本地的局域网ip地址. se ...

  3. Docker+Nginx部署Angular

    Docker+Nginx部署Angular 在部署Angular生产环境之前,需要电脑已经安装docker. 添加Dockerfile 在已经完成的Angular项目的项目根目录下添加Dockerfi ...

  4. docker nginx部署前端项目

    最近一直在搞前后端分类,一直在想前端的html页面应该用什么部署 想来想去,如果用tomcat好像有点浪费资源,作为程序员自然要时时刻刻追求新的东西 一直以来都是在apache tomcat上面运行, ...

  5. 尝试 Docker + Nginx 部署单页应用

    开发到部署,亲力亲为 当我们开发一个单页面应用时,执行完构建后 npm run build 会生成一个 index.html 在 dist 目录,那怎么把这个 index.html 部署到服务器上呢? ...

  6. docker nginx部署web应用_docker部署Nginx

    1.拉取Nginx进行 docker pull nginx:latest拉取完成查看:docker images 2.准备工作 先在主机创建工作文件夹,为了挂载配置和静态文件的访问使用 #启动一个容器 ...

  7. Nginx部署vue,及后端项目的接口转发

    背景介绍 在部署项目时,配置Nginx端口8888,后端服务端口8088. #user nobody; worker_processes 1; #error_log logs/error.log; # ...

  8. Docker nginx部署阿里https(最新的方案)

    1.安装nginx docker pull nginx 2.启动容器(注意80跟443,自己注意下自己的服务器 80.443端口有没有打开) docker run --name nginx -d -p ...

  9. Docker + Nginx 部署Vue项目

    1.vue项目打包 打包生成dist文件夹 npm run build 如果将该dist目录整个传到服务器上,部署成静态资源站点就能直接访问到该项目. assetsPublicPath: '/' 记得 ...

最新文章

  1. A16Z内部万字报告:人类与AI结合的最佳形态
  2. 进程通信学习笔记(互斥锁和条件变量)
  3. Spirng MVC +Velocity 表单绑定命令对象
  4. interp3函数-----三维数据插值
  5. 图片懒加载解决方案 lazyload.js
  6. java学习(47):带参无返回
  7. Navicat 连接Mysql 报错1251
  8. OpenMetric与时序数据库模型之主流TSDB分析
  9. python gui 框架中显示gif_使用QLab在PyQt GUI中显示gif
  10. 编程没点为什么,生活就是十万个为什么
  11. 小程序 长按转发_小程序转发分享
  12. uniapp监听PDA激光扫描
  13. 网盘和云备份 区别在哪里
  14. SMART200 DP01模块通讯问题
  15. 一张图看懂财务报表分析
  16. 网络安全烽火再起 BAT聚头2017 网络安全生态峰会
  17. php下载地址转换工具,PHP实战:php实现把url转换迅雷thunder资源下载地址的方法...
  18. 微信小程序:MD5 加密
  19. 小米软件研发工程师面试
  20. NSoup Select 示例

热门文章

  1. SparkSQL 创建 DataFrame 的方式
  2. 信号与系统复习与总结
  3. Matlab 定点化函数fi
  4. Android自定义View绘制条形统计图
  5. 谷歌 Chrome 浏览器无法翻译网页解决方法
  6. 为什么商品宝贝属性越改权重越低,怎样改商品信息对权重没影响
  7. Yapi环境搭建(史上最详细步骤)
  8. 黑马程序员--某天学习笔记
  9. Android 9.0 切换系统语言
  10. SAP中系统中导出所有采购协议中最后一次收货记录