使用 Plesk 搭建反向代理服务器

Nginx 是一款非常不错的反向代理软件,如果自己懂得搭建,也可以只安装 Nginx,使用 Plesk 来搭建,主要是享受了 Plesk 自带的一些功能,最主要的是 Lets Encrypt 证书的创建、自动续期和服务器的可视化管理。

原理

Plesk 默认使用了 Nginx 和 Apache,Nginx 接受请求,然后传递给 Apache,利用 Plesk 搭建反向代理服务器,就是修改 Nginx 的配置,让它把请求传递给第三方服务器。

实现

1、修改 Nginx 的配置文件

mkdir /usr/local/psa/admin/conf/templates/custom
mkdir /usr/local/psa/admin/conf/templates/custom/domain
mkdir /usr/local/psa/admin/conf/templates/custom/domain/service
cp /usr/local/psa/admin/conf/templates/default/domain/nginxDomainVirtualHost.php /usr/local/psa/admin/conf/templates/custom/domain
cp /usr/local/psa/admin/conf/templates/default/domain/service/proxy.php /usr/local/psa/admin/conf/templates/custom/domain/service

使用 vi 编辑器修改 proxy.php,把 proxy_pass 那两行的后半部分地址改成:

<?php echo $VAR->domain->asciiName ?>;

使用 vi 编辑器修改 nginxDomainVirtualHost.php,找到 root 那一行,删掉即可。为了安全起见,也可以删掉下面的 add_header 那一行,这样就不会在头部文件中显示“PleskLin”字样。

使用 plesk 搭建反向代理服务器

重新生成网址配置文件

 /usr/local/psa/admin/sbin/httpdmng --reconfigure-domain <domain_name>

2、修改 hosts 文件

我们在域名解析的时候,解析到的是 Plesk 反向代理服务器的 IP 地址,我们现在要使用 hosts 把域名重新解析到源服务器的 IP 地址,这样反向代理服务器才可以把请求传递到源服务器。

3、修改 Apache 和 Nginx 设置

1、进入域名 –> Apache 和 Nginx 设置 –> nginx 设置,代理模式前面打勾,取消“静态文件智能处理”和“由 Nginx 直接服务静态文件”前面的勾。

2、在 Plesk 后端服务器的网站设置里的“其他 Nginx 指令”中加入下面的语句,IP 替换成 Plesk 前端的 IP 地址:

set_real_ip_from 10.10.10.1;

这样后台服务器的日志就能正常获取访客的 IP,而不是代理服务器的 IP。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>