nginx前后端同域名配置的方法实现

本文主要介绍了nginx前后端同域名配置的方法实现,分享给大家,具体如下:

upstream dfct {
# ip_hash;
 server 121.41.19.236:8192;
}

server {
 server_name ct.aeert.com;

 location / {
  root /opt/web;
  try_files $uri $uri/ /index.html;
  error_page 405 =200 http://$host$request_uri;
 }

 location ^~/web/ {
  proxy_set_header Host $proxy_host;
#  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://121.41.19.236:8192/;
 }

 listen 443 ssl; # managed by Certbot
 ssl_certificate /etc/letsencrypt/live/ct.aeert.com/fullchain.pem; # managed by Certbot
 ssl_certificate_key /etc/letsencrypt/live/ct.aeert.com/privkey.pem; # managed by Certbot
 include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
 ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

server {
 if ($host = ct.aeert.com) {
  return 301 https://$host$request_uri;
 } # managed by Certbot

 listen 80;
 server_name ct.aeert.com;
 return 404; # managed by Certbot

}

补充:前后端分离的项目使用nginx部署的三种方式

前后端分离的项目,前端和后端可以用不同的域名,也可以用相同的域名

以下为前后端使用相同域名情况:

一、前端使用www.xxx.com,后端使用api.xxx.com

server {
server_name www.xxx.com;

location / {
 root /tmp/dist;
 index index.html;
 try_files $uri $uri/ /index.html;
  }
 }
server {
server_name api.xxx.com;
location / {
uwsgi_pass 127.0.0.1:8000;
include /etc/nginx/uwsgi_params;
 }
}

二、前端使用www.xxx.com,后端使用www.xxx.com/api/

1、uwsgi如果是使用http方式可以这样配

server {
server_name www.xxx.com;

location / {
 root /tmp/dist;
 index index.html;
 try_files $uri $uri/ /index.html;
 }

location ^~ /api/ {
 proxy_pass http://127.0.0.1:8000/;
 }
}

2、uwsgi如果是使用socket方式的话需要这样配

server {
server_name www.xxx.com;
location / {
 root /tmp/dist;
 index index.html;
 try_files $uri $uri/ /index.html;
}

location ^~ /api/ {
 proxy_pass http://127.0.0.1:8080/;
 }
}
server {
listen 8080;
location / {
uwsgi_pass 127.0.0.1:8000;
include /etc/nginx/uwsgi_params;
 }
}

到此这篇关于nginx前后端同域名配置的方法实现的文章就介绍到这了,更多相关nginx前后端同域名配置内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Nginx配置如何区分PC或手机访问不同域名

    新官网上线,但在手机上访问新官网的体验很差,要求在手机上访问新官网时访问旧官网,可以通过修改Nginx配置来实现自动跳转. 首先是新官网的Nginx配置文件加个跳转判断,通过user-agent判断来源是移动端还是PC端: server { listen 80; server_name www.7d.com 7d.com; // 新官网域名 rewrite .* https://$host$request_uri last; } server { listen 443 ssl; server_n

  • nginx前后端同域名配置的方法实现

    本文主要介绍了nginx前后端同域名配置的方法实现,分享给大家,具体如下: upstream dfct { # ip_hash; server 121.41.19.236:8192; } server { server_name ct.aeert.com; location / { root /opt/web; try_files $uri $uri/ /index.html; error_page 405 =200 http://$host$request_uri; } location ^~

  • Linux\Nginx 环境下虚拟域名配置及测试验证

    使用 Nginx 虚拟域名配置,可以不用去购买域名,就可以通过特定的域名访问本地服务器.减少发布前不必要的开支. 配置步骤 1. 编辑 nginx.conf 配置文件  sudo vim /usr/local/nginx/Nginx/conf/nginx.xonf (1) 添加域名到文件名(方便日后管理) 这里添加的一下代码是在 nginx.conf 的 http 结点下添加便可. 但是需要注意的 vhost 文件夹的路径,这里的创建的 vhost 文件夹的路径是: /usr/local/ngi

  • Vue前后端不同端口的实现方法

    前端Vue 8080端口,后端Node.js 8085端口 主要记录下前后端不同端口遇到的问题 1.写服务器端程序,我的在(node_proxy/index.js)下 app.all('*', function (req, res, next) { res.header('Access-Control-Allow-Origin', req.headers.origin || '*'); res.header('Access-Control-Allow-Headers', 'Content-Typ

  • Layui数据表格 前后端json数据接收的方法

    先上效果图: 前端数据表格: <div class="x-body"> <%-- 数据表格 --%> <table class="layui-table" lay-data="{ id:'test', url:'/menu/page', page:true, limits: [10,20,50], //每页条数的选择项,默认:[10,20,30,40,50,60,70,80,90] limit: 10, //每页默认显示的数量

  • 一台nginx服务器多域名配置的方法

    Nginx强大的正则表达式支持,可以使server_name的配置变得很灵活,如果你要做多用户博客,那么每个用户拥有自己的二级域名也就很容易实现了. 下面我就来说说server_name的使用吧: server_name的匹配顺序 Nginx中的server_name指令主要用于配置基于名称虚拟主机,server_name指令在接到请求后的匹配顺序分别为: 1.准确的server_name匹配,例如: server { listen 80; server_name ssdr.info www.s

  • Nginx 多域名配置的方法

    很多情况下,需要使用多个域名,但你只有一台服务器,那如何搭建,让一台服务器可以访问对个域名,下面的方法是在服务器上搭建Nginx, 直接修改其配置,如下: user www www; #用户名称 worker_processes 2; error_log ../error.log; #error_log logs/error.log notice; pid /usr/local/nginx/nginx.pid; worker_rlimit_nofile 65535; events { use e

  • 详细nginx多域名配置的方法

    前言 Nginx强大的正则表达式支持,可以使server_name的配置变得很灵活,nginx多域名配置是在配置文件中建立多个server配置,在每个server配置中用server_name来对域名信息进行过滤. 实现方法如下: 举个例子,下面是一个conf文件: server { listen 80; server_name www.web1.com; #绑定域名 index index.htm index.html index.php; #默认文件 root /home/www.web1.

  • SpringBoot集成WebSocket实现前后端消息互传的方法

    什么是WebSocket? WebSocket 协议是基于 TCP 的一种新的网络协议.它实现了浏览器与服务器全双工 (full-duplex) 通信-允许服务器主动发送信息给客户端. 为什么需要WebSocket? 大家都知道以前客户端想知道服务端的处理进度,要不停地使用 Ajax 进行轮询,让浏览器隔个几秒就向服务器发一次请求,这对服务器压力较大.另外一种轮询就是采用 long poll 的方式,这就跟打电话差不多,没收到消息就一直不挂电话,也就是说,客户端发起连接后,如果没消息,就一直不返

  • Spring MVC前后端的数据传输的实现方法

    本篇文章主要介绍了Spring MVC中如何在前后端传输数据.具体内容如下所示: 后端--> 前端 在Spring MVC中这主要通过Model将数据从后端传送到前端,一般的写法为: @RequestMapping(value = "/index", method = RequestMethod.POST) public String index(Model model){ String greeting = "Hello !" model.addAttrib

  • Nginx 运维之域名验证的方法示例

    各公众平台在配置接口域名时会验证开发者对域名的配置权, 生成随机的文本及字符串,让放置在域名根目录可以通过域名直接访问到即通过验证. 示例为验证域名 abc.com 可以通过根路由访问 6CysNYj8Hb.txt 响应体为字符串 01df2ddab4774ba2676a5563ccb79ffa. $ curl https://abc.com/6CysNYj8Hb.txt 01df2ddab4774ba2676a5563ccb79ffa 方案一 配置有 root 的 server,直接把随机文档

随机推荐