tomcat基礎-如何給Tomcat前端加反向代理服務器

Tomcat可以做為反向代理服務器的組件有很多,例如使用nginx,如果使用nginx,Tomcat就只能使用http連接器,另外一種是apache。如果是使用httpd,Tomcat兩種連接器都能發揮作用,例如可以使用http連接器,也可以使用ajp連接器,

在Tomcat前端加反向代理服務器,在同一臺主機上構建nginx

[root@tomcat ~]# yum install nginx

Installed:

nginx.x86_64 1:1.12.2-1.el7

 

 

配置nginx能夠把請求反代給Tomcat,兩種方式

  1. 把所有請求都反代過去,無論是靜態還是動態,這不是一種理想的方式
  2. 可以把jsp

java所寫的代碼,一般有兩種資源后綴,.do,另外一種是.jsp,假如運行在Tomcat之上,因此去匹配請求的URL后綴,而后,只把do 和 jsp 結尾的反代給Tomcat,而靜態的,都由自己進行處理

 

假設動靜資源都放在一起了,先說一個主機,動靜資源都在一起,都在/usr/share/tomcat/webapps/目錄下,nginx的根路徑也應該指向/usr/share/tomcat/webapps/,假如說主站是在/root目錄下,在nginx上還需要專門加一個location,或者是把根直接指向/root目錄,也可以

 

修改nginx配置文件

[root@tomcat /etc/nginx]# vim nginx.conf

server {

listen ??????80 default_server;

listen ??????[::]:80 default_server;

server_name ?_;

root ???????/usr/share/tomcat/webapps/ROOT/;

 

# Load configuration files for the default server block.

include /etc/nginx/default.d/*.conf;

 

location / {

}

 

?location ~* \.(jsp|do)$ {

????????????????proxy_pass http://127.0.0.1:8080;

????????}

 

因為nginx自己不會去找ROOT,所以需要寫上

 

127.0.0.1:8080; 使用localhost上的虛擬主機進行請求響應,或者使用本機的IP地址也是一樣的,使用本機的IP,也是localhost進行響應的,除非是使用server1才會由后端server1上的虛擬主機進行響應。如果地址寫的是server1:8080,那么nginx所在的機器效可以解析server1才可以,否則無法完成代理

 

 

啟動服務

[root@tomcat /etc/nginx]# systemctl restart nginx

 

[root@tomcat /etc/nginx]# ss -ntl

State ?????Recv-Q Send-Q ???Local Address:Port ??????????????????Peer Address:Port

LISTEN ????0 ?????128 ?????????????????:::80 ??????????????????????????????:::*

LISTEN ????0 ?????100 ?????????????????:::8080 ????????????????????????????:::*

LISTEN ????0 ?????100 ?????????????????:::8009 ????????????????????????????:::*

 

訪問測試

[root@server2 ~]# curl 192.168.111.101

<html>

<head><title>403 Forbidden</title></head>

 

注意:對方的默認資源頁面是index.jsp

在nginx上配置的時候,沒表明.jsp的文件可以當做默認主頁面,所以就把index.html請求到后端去了,后端主機就沒有

修改配置文件進行適配

[root@tomcat ~]# vim /etc/nginx/nginx.conf

server {

listen ??????80 default_server;

listen ??????[::]:80 default_server;

server_name ?_;

root ???????/usr/share/tomcat/webapps/ROOT/;

index ??index.jsp index.html;

 

# Load configuration files for the default server block.

include /etc/nginx/default.d/*.conf;

 

location / {

}

 

location ~* \.(jsp|do)$ {

proxy_pass http://127.0.0.1:8080;

}

 

重新加載配置文件

[root@tomcat ~]# nginx -s reload

 

訪問測試

[root@server2 ~]# curl 192.168.111.101 -I

HTTP/1.1 200 OK

Server: nginx/1.12.2

 

 

點擊主頁面上的Manager按鈕無法跳轉過去,因為nginx去找ROOT目錄下的host-manager/html文件去了

 

location需要單獨定義,和每個應用程序,在nginx上直接進行代理而且有多個應用,每一個應用都需要單獨定義一個location,而且對于manager資源,頁面文件還是在html目錄下,所以location要定義好,指到manager還不夠,還需要指定heml,因為默認資源時靜態的,叫做index.html,而且是放在manager目錄中的。還需要額外添加location。好在,像這種manager,一般也不應該在前端服務網關代理

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/92691

(2)
無言勝千言無言勝千言
上一篇 2018-03-18
下一篇 2018-03-19

相關推薦

  • Linux之yum詳解及程序包安裝

    Linux之 yum詳解 及 程序包安裝    在Linux常用的命令安裝工具中,rpm是一個功能十分強大的軟件包管理系統,它使得在Linux下安裝、升級和刪除軟件包的工作變得容易,并且具有查詢、驗證軟件包的功能。與圖形化工具相比,使用命令行可以獲得更大的靈活性。    但是rpm有一個缺點,無法解決包的依賴性,也就是…

    Linux干貨 2016-08-24
  • iptables/netfilter入門到進階

    防火墻的概念 Firewall:工作于主機或網絡邊緣,對于進出本主機或網絡的報文根據事先定義的規則作匹配檢測,對于更改被規則匹配到的報文做出相應處理的組件 網絡層防火墻(包過濾防火墻): 優點:對用戶來說透明,處理速度快且易于防護 缺點:一旦黑客突破防火墻,就可以請以偽造數據包源地址、目的地址和IP端口號 代理服務型防火墻(Proxy Service) 優點…

    2017-06-17
  • Linux發展史

    簡述 Linux于1991年10月5日誕生,由Linus torvalds和后面陸續加入的眾多愛好者共同開發完成的操作系統 Linux只表示Linux kernl,但由于習慣用Linux來形容整個基于Linux kernl,使用GNU計劃的各種工具和數據庫的操作系統 Linux的標志 一只名為Tux的企鵝 大家要Linus Torvalds想一只吉祥物,他想…

    2017-03-26
  • CentOS6.7上編譯安裝php

    環境:CentOS6.7,minimal安裝。 前提條件:安裝了編譯環境,安裝了Apache/Nginx,安裝了MySQL/MariaDB。具體安裝見:http://www.www58058.com/16583    http://www.www58058.com/17497  1、解決依賴關系: 請配置好yum源(系統安裝源及…

    Linux干貨 2016-06-03
  • 人志建,則無敵—網絡基本知識加簡單腳本練習

    馬哥21期網絡班-8周博客作業 1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 網橋:網橋就是把2個不同的網段橋接起來;可隔離沖突域。 集線器:集線器就是把多根以太網線或光纖集合連接在同一段物理介質下的裝置;工作在物理層;不能隔離沖突域。 二層交換機:工作于OSI模型的第2層(數據鏈路層),故而稱為二層交換機。二層交換技術的發…

    Linux干貨 2016-08-29
  • 作業權限管理

    一、在/data/testdir里創建的新文件自動屬于g1組,組g2的成員如:alice能對這些新文件有讀寫權限,組g3的成員如:tom只能對新文件有讀權限,其它用戶(不屬于g1,g2,g3)不能訪問這個文件夾。 首先創建三個組g1,g2,g3,題目要求在/data/testdir目錄里創建的文件自動屬于g1組那么首先要將這個目錄的屬組改為g1,然后通過更改…

    Linux干貨 2016-08-03
欧美性久久久久