Nginx解决跨域与宕机问题


一、宕机问题解决

准备两台Tomcat,当其中一台Tomcat挂掉(服务器宕机),便找另一台服务器继续运行

1、模拟宕机问题

  

2、修改nginx.conf文件重启Nginx

  

3、正常响应

  

    

4、再次模拟宕机问题便会找到下一个存活服务器继续运行

   

二、跨域问题解决

Nginx解决跨域问题,实现方案:
  www.a.com:8080/a
  www.b.com:8081/b

  如果在b工程的页面直接发送ajax请求a时会发生跨域问题,那么解决方案为:将A和B同时代理到Nginx,由Nginx做请求路由,直接在B工程页面中直接访问Nginx即可

1、目录展示

  

 2、导入依赖

  

 3、NginxServlet

package com.a;

import Javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/NginxServlet")
public class NginxServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        //1、接收数据
        String username = request.getParameter("username");
        System.out.println("接收的数据:"+username);

        //2、响应结果
        response.getWriter().write("success");
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);
    }
}

4、index.jsp

<%--
  Created by IntelliJ IDEA.
  User: zheng
  Date: 2020/2/10
  Time: 15:01
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Nginx解决跨域问题</title>
    <script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
    <script>
        $(function () {
            $("#button").click(function () {
                $.ajax({
                    url:"http://www.znzn.com/A/NginxServlet?username="+$("#username").val(),
                    type:"GET",
                    success:function (result) {
                        alert(result);
                    }
                })
            });
        })
    </script>
</head>
<body>
    数据:<input type="text" name="username" id="username"/>
    <input type="button" id="button" value="请求"/>
</body>
</html>

5、修改nginx.conf文件、重启Nginx

  

 6、效果展示

  

相关内容

    暂无相关文章