Nginx搭建域名访问环境

简介: Nginx搭建域名访问环境

正向代理与反向代理

ee44d0f850680dcb649337c3c067277f_202110032245099.png

Nginx配置文件

447ec2189475df9f98972a0b9b5e9774_202110032246009.png

Windows修改host文件

192.168.195.100为虚拟机ip

192.168.195.100  gulimall.com

然后修改Nginx配置文件

server {
    listen       80;
    server_name  gulimall.com;
    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;
    location / {
      proxy_pass http://192.168.195.100:10000;
    }
    #error_page  404              /404.html;
    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

Nginx帮我们反向代理,如果请求是来源于gulimall.com的,全部转发到商品服务http://192.168.195.100:10000

但是这样有个弊端,分布式情况下商品服务可能不止一个,不能每次都去改配置文件,因此最好的办法是nginx将请求直接代理给网关,然后再转发给相应的服务

在nginx文件夹的nginx.conf中配置网关地址,这里可以配置多个地址,用来负载均衡

upstream gulimall {
        server 192.168.195.88:88;
    }

配置转发到http://gulimall

server {
    listen       80;
    server_name  gulimall.com;
    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;
    location / {
      proxy_pass http://gulimall;
      proxy_set_header Host $host;
    }
    .......
}

配置网关

- id: gulimall_host_route
          uri: lb://gulimall-product
          predicates:
            - Host=**.gulimall.com,gulimall.com

访问guliamall.com通过网关转发到商品服务成功

Nginx直接代理给网关,网关判断:

  • 如果是/api/*,装交给对应的服务器
  • 如果是妈祖域名,转交给对应的服务

转发效果

e455319b91ff6bda9cbf55c4b28dee10_202110041140208.png

访问流程

在windows里面配置了gulimall的虚拟机,访问gulimall.com转到了虚拟机里面192.168.195.100,默认是访问80端口,192.168.195.100:80

192.168.195.100  gulimall.com

虚拟机里面装了nginx,进入到nginx80端口,通过监听80端口nginx把请求转发到windowshttp://gulimall

server {
    listen       80;
    server_name  gulimall.com;
    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;
    location / {
      proxy_pass http://gulimall;
      proxy_set_header Host $host;
    }
    .......
}

http://gulimall请求转发到网关192.168.195.88:88

upstream gulimall {
        server 192.168.195.88:88;
    }

然后网关拦截gulimall.com的请求,并转发到商品服务gulimall-product

- id: gulimall_host_route
          uri: lb://gulimall-product
          predicates:
            - Host=**.gulimall.com,gulimall.com
相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
29天前
|
应用服务中间件 nginx
Nginx中如何配置中文域名?
Nginx中如何配置中文域名?
39 0
|
1月前
|
前端开发 Java 应用服务中间件
Nginx访问异常的解决方法
Nginx访问异常的解决方法
|
2天前
|
应用服务中间件 Linux 开发工具
如何在阿里云服务器快速搭建部署Nginx环境
以下是内容的摘要: 本文档主要介绍了在阿里云上购买和配置服务器的步骤,包括注册阿里云账号、实名认证、选择和购买云服务器、配置安全组、使用Xshell和Xftp进行远程连接和文件传输,以及安装和配置Nginx服务器的过程。在完成这些步骤后,你将能够在服务器上部署和运行自己的网站或应用。
|
12天前
|
应用服务中间件 网络安全 nginx
nginx配置https访问
nginx配置https访问
25 0
|
14天前
|
关系型数据库 MySQL 数据安全/隐私保护
使用docker快速搭建wordpress服务,并指定域名访问
通过以上步骤,你可以使用Docker快速搭建WordPress服务,并通过指定的域名进行访问。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
19 1
|
21天前
|
应用服务中间件 nginx
nginx配置访问qicaitun.com强制跳转www.qicaitun.com
nginx配置访问qicaitun.com强制跳转www.qicaitun.com
9 0
|
22天前
|
应用服务中间件 Linux PHP
Linux下安装php环境并且配置Nginx支持php-fpm模块
Linux下安装php环境并且配置Nginx支持php-fpm模块
18 0
|
22天前
|
应用服务中间件 nginx
nginx配置https和直接访问静态文件的方式
nginx配置https和直接访问静态文件的方式
27 3
|
29天前
|
JavaScript 前端开发 应用服务中间件
通过域名的方式访问服务器里的资源
通过域名的方式访问服务器里的资源
20 0
|
29天前
|
前端开发 应用服务中间件 nginx
nginx中配置不输入端口(指定地址)访问项目的方法
nginx中配置不输入端口(指定地址)访问项目的方法
23 0