nginx反向代理实现二级域名转一级域名
- 需求场景:
- 有两个大项目交互必须在一级域名下,每个项目有多个前端,之前采用二级或三级域名的方式导致域名过多不好维护,故由project1.service1.city.com、project1.service2.city.com、project1.service3.city.com的方式,转换为project1.city.com/service1/、project1.city.com/service2/、project1.city.com/service3/
后续域名仅需按项目维护 - 单个前端服务均为docker方式,使用nginx将静态资源转发,docker -p将端口映射出来
- 实现方式
采用nginx反向代理,注意项目内路径的设置问题,本次遇见的问题均有路由错误导致,供参考
# 项目nginx配置文件如下server
{listen 80;listen 443 ssl http2;server_name eztest.city.com;index index.php index.html index.htm default.php default.htm default.html;root /www/wwwroot/eztest.city.com;#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则#error_page 404/404.html;add_header Strict-Transport-Security "max-age=31536000";error_page 497 https://$host$request_uri;#PHP-INFO-START PHP引用配置,可以注释或修改include enable-php-00.conf;#PHP-INFO-END#REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效include /www/server/panel/vhost/rewrite/eztest.city.com;#REWRITE-END#禁止访问的文件或目录location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md){return 404;}#一键申请SSL证书验证目录相关设置location ~ \.well-known{allow all;}# ez-adminlocation /admin/ {proxy_pass http://192.168.10.217:7813/;}location /toolbox/ {proxy_pass http://192.168.10.217:7802/;}# entrancelocation / {proxy_pass http://192.168.10.217:7809/;}location /manager/ {proxy_pass http://192.168.10.217:7808/;}location /report/ {proxy_pass http://192.168.10.217:7815/;}location /scene/ {proxy_pass http://192.168.10.217:7806/;}access_log /www/wwwlogs/eztest.city.com.log access_json;error_log /www/wwwlogs/eztest.city.com.error.log;
}
备注:
- vue项目注意vue.config.js中publicPath:’./’,的值,若有跟路径/,可能在多次转发后找不到,建议配置为当前路径
- 第二种前端项目有两层,若出现200状态,页面空白的现象,需找前端人员协同查看,本次修改router.js文件,强制转换路由
服务nginx配置文件参考如下:
server {listen 8080 default_server;listen [::]:8080 default_server;server_name nginx_vue_front;gzip on;gzip_min_length 1k;gzip_comp_level 9;gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css application/font-sfnt;gzip_disable "MSIE [1-6]\.";gzip_vary on;root /www/wwwroot/dist/;location / {try_files $uri $uri/ /index.html;}location ~* ^.+\.(eot|ttf|otf|woff|svg)$ {access_log off;add_header Cache-Control max-age=360000;}
}
dockerfile参考如下:
/www/wwwroot # cat Dockerfile
FROM node:12.18.0-alpine3.11ARG NPM_RUN_ARG=build
RUN apk add nginx tzdata
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeADD . /www/wwwroot/
WORKDIR /www/wwwroot/
RUN yarn config set registry https://registry.npm.taobao.org/ && yarn install && yarn cache clean
RUN npm run --silent $NPM_RUN_ARG
RUN ln -s /www/wwwroot/deploy/nginx.conf /etc/nginx/conf.d/
RUN rm -f /etc/nginx/mime.types; ln -s /www/wwwroot/deploy/mime.types /etc/nginx/CMD ["/usr/sbin/nginx", "-g", "pid /tmp/nginx.pid; daemon off;"]
nginx反向代理实现二级域名转一级域名相关推荐
- nginx 反向代理配置二级域名正确姿势!!!
1. 先解释下什么是反向代理? 反向代理是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代 ...
- Nginx反向代理 设置二级域名 (CentOS)
nginx 配置 whereis nginx /usr/sbin/nginx -> 执行文件 /etc/nginx/conf.d -> 自定义.conf文件的存放位置 ...
- Nginx 反向代理 虚拟二级目录
" 在nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径:如果没有/,表示相对路径,把匹配的路径部分也给代理走. 假设下面四种情况分别 ...
- nginx反向代理二级目录 导致vue项目静态文件css js访问不到
2022年5月30日19:06:00 nginx vue项目配置 server {listen 9888;server_name 127.0.0.1;error_log /data/log/nginx ...
- 使用Nginx反向代理绕过域名备案详解
之前笔者在景安云搞过一个Wordpress博客,然后域名备案也是在景安云上面搞的,后来又搞了一个阿里云的服务器,想把博客迁移到阿里云并且使用Ghost博客,然后使用二级域名链接到阿里云,结果出事了.景 ...
- Nginx反向代理多个应用时,通过BluePring使Flask支持二级路径(URL前缀)
1. 预期 最近陆续基于Nginx,完成了三个应用的部署: 应用A:<在Ngnix上部署Flask应用> 应用B:<PaddleOCR加载chinese_ocr_db_crnn_mo ...
- (转)IIS tomcat共用80端口解决一个IP多个域名:使用Nginx反向代理方式使两者兼容...
from :http://www.cnblogs.com/wuyou/p/3455619.html 环境: windows server 2003,IIS6服务器,Tomcat7服务器 域名有几个: ...
- nginx反向代理配置解决不同域名默认页面不同问题
nginx反向代理配置解决不同域名默认页面不同问题 背景 设计思路 步骤 背景 需求:使用同一个项目(http://localhost:8080/thzhdj)映射两个域名(test1.com,tes ...
- Nginx反向代理,通过域名直接访问指定的端口,比如8080
Nginx反向代理,通过域名直接访问指定的端口,比如8080 今天写微信公众号开发网络授权的时候,通过域名加接口url的方式,始终访问不到指定的接口,最后想了很久,发现是Nginx反向代理没有配置! ...
最新文章
- 在 C# 中,new 关键字可用作运算符、修饰符或约束。
- idea包显示问题-层次显示设置-idea2020版
- P4562-[JXOI2018]游戏【数论,组合数学】
- 模型和控制器-起步阶段
- LeetCode 451. 根据字符出现频率排序(Sort Characters By Frequency)
- java ipmitool_ipmitool使用手册
- 肇庆市二技学校计算机电算化,肇庆市有那些技术学校
- 访问页面出现404的原因
- epoll监听文件_Go 文件监控怎么实现?
- IE脚本错误Automation服务器不能创建对象
- Dell笔记本外接显示器—显示器模糊、字体不清晰
- ArcGis Engine 符号
- 故障分析 | MySQL 8.0 解决连接满问题
- 华为云服务器查看备份文件,云服务器备份文件
- TypeScript 高级类型及用法
- 如何在EDUIS中导出ETL字幕模板_Arctime教程——将字幕导出到剪辑/合成软件
- Spring Gateway静态文件路由
- 详解 OpenCV 透视变换原理 及 实例
- js 实现页面朗读功能,利用百度语音API
- 离散方法(一)——有限单元方法(FEM)