- 简单介绍
- 正向代理
-
正向代理服务器是一个位于客户端和原始服务器(origin server)之间的服务器,为了能够从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。其中正向代理一般是xxx在客户端设置代理服务器xxx,通过代理服务器转发请求,最终访问到目标服务器。
-
- 反向代理
- 反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源,反向代理服务器负责将请求转发给目标服务器。用户不需要知道目标服务器的地址,也无须在用户端作任何设定,对于用户来说,访问反向代理服务器是完全无感知的。
- 简单的说,正向代理时,用户是必须知道目标服务器的地址信息。而反向代理时,用户并不关心真正的目标服务器,只需要知道反向代理服务器即可。
- 正向代理
- 我们可以通过nginx作为反向代理服务器使用
- 首先我们需要在Linux服务器上安装好nginx并启动nginx,并且在Linux服务器上启动java应用服务
- 进入nginx的安装目录,并编辑配置文件nginx.conf文件配置反向代理信息并保存
-
cd /usr/local/project/nginx/confvim nginx.conf
-
location /study/ {# 反向代理配置,将请求转发到指定的服务proxy_pass http://192.168.163.100:8080;}
-
- 检查配置文件的正确性,并重新加载nginx配置文件
-
sudo ./nginx -t
-
sudo ./nginx -s reload
-
- 访问反向代理服务器信息
- 访问地址:http://服务器ip地址/study/
- 首先我们需要在Linux服务器上安装好nginx并启动nginx,并且在Linux服务器上启动java应用服务
- 若通过nginx访问java的web服务器时出现中文乱码时的排查步骤
- 首先不通过nginx直接访问java的web服务时是否中文乱码,如果java的web服务本身就中文乱码,需要进行下列检查
- 若是maven项目
- 在pom文件中添加设定编码为utf-8
-
<properties><!-- 指定项目编码 --><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties>
- 若是以jar包启动,则需要在java -jar 启动时设定utf-8编码
-
java -jar -Dfile.encoding=utf-8 xxxxxxxx.jar
-
- 若当前项目还是中文乱码则应该是项目里面的编码未处理好,需要查看自己项目本身的代码进行相应的代码以及配置调整
- 若是maven项目
- 如果在java的web项目中已经不出现中文乱码了,但是通过nginx访问依然出现中文乱码,则需要设置nginx的server块的编码为utf-8
-
server {listen 80;server_name localhost;# 设置字符集charset utf-8;}
- 然后检查配置文件,再重新加载配置文件,完成之后进行浏览器访问即可
-
sudo ./nginx -tsudo ./nginx -s reload
-
-
- 首先不通过nginx直接访问java的web服务时是否中文乱码,如果java的web服务本身就中文乱码,需要进行下列检查