基於Nginx解決跨域問題

目標問題:項目域:(pay-monitorWeb.com)通過發送AJAX向項目域(rabbitMqS.com)發送請求,跨域請求發起了,但是返回結果被瀏覽器攔截,請求失敗。

 

1.安裝Homebrew

終端輸入  

brew install nginx 

 

 2.啓動

終端輸入

brew services start nginx

訪問: http://localhost:8080/

3.配置nginx.conf 增加server

解決跨域:將兩個地址 採用同一個域名分發

server {
	listen      80;
	server_name www.wondersdumz.com;
	location /services {
	   proxy_pass http://rabbitMqS.com:8089/services;
	   index  index.html index.htm;
	}
	location /pay-monitorWeb {
           proxy_pass http://pay-monitorWeb.com:8180/pay-monitorWeb;
           index  index.html index.htm;
        }
    }

4.修改host文件

mac系統 vi /etc/hosts  

127.0.0.1	www.wondersdumz.com
127.0.0.1 	rabbitMqS.com
127.0.0.1   pay-monitorWeb.com

5測試

頁面發起ajax 項目域:pay-monitorWeb.com 向 項目域:rabbitMqS.com:發起接口請求(url:http://www.wondersdumz.com/services/query/test)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%-- <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="fmt"%> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="sql"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="fn"%>  --%>
<%@ page isELIgnored="false"%>
<%-- <c:set var="ctx" value="${pageContext.request.contextPath}"/> --%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>開始頁</title>
</head>
 <script src="js/jquery-1.9.1.min.js"></script>
 <script type="text/javascript">
 <!-- 跨域解決方案 -->
 $(function(){
	  $.ajax({
			url:'http://www.wondersdumz.com/services/query/test',
			type:'GET',
			async:false,   //異步
			/* contentType:"application/json",    //則data只能是json字符串 */
			dataType:"text",
			success:function(result){
				/* alert(JSON.stringify(result)); */
				/*  var json = eval('(' + result + ')'); */
				alert(result);
				
			},error:function(){
				
			}
				
		}); 
	});
 </script>
<body>
	<h1>Hello java</h1>

</body>
</html>

頁面響應結果 :

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章