Linux VPS上配置Nginx反向代理

Nginx是一款高性能的HTTP和反向代理服务器。VPS侦探以前已经多次介绍过Nginx的HTTP应用,比如lnmp一键安装包。下面要说的是Nginx的反向代理功能。

反向代理是什么?

反向代理指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部(或其他)网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户端。

一句话说明就是访问的域名是a.com,实际访问的内容是b.com的。

实现方法:

比如我想在VPS上建一个t.vpser.net的域名用来反向代理访问http://127.0.0.1:3000,首先在域名注册商那里的域名管理上为域名t.vpser.net添加A记录到VPS的IP上,再在VPS上修改Nginx的配置文件,添加如下:

server
	{
    	listen          80;
    	server_name t.vpser.net;
    	location / {
    	            proxy_pass http://127.0.0.1:3000;
    	            proxy_http_version    1.1;
    	            proxy_cache_bypass    $http_upgrade;
    	            proxy_set_header Upgrade            $http_upgrade;
    	            proxy_set_header Connection         "upgrade";
    	            proxy_set_header Host               $host;
    	            proxy_set_header X-Real-IP          $remote_addr;
    	            proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;
    	            proxy_set_header X-Forwarded-Proto  $scheme;
    	            proxy_set_header X-Forwarded-Host   $host;
    	            proxy_set_header X-Forwarded-Port   $server_port;
        }

添加好后,先执行:/usr/local/nginx/sbin/nginx -t 检查配置是否正常,如果显示:the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok      configuration file /usr/local/nginx/conf/nginx.conf test is successful 则正常,否则按错误提示修改配置。

这样只是简单的反向代理,如果nginx上已经安装 --with-http_sub_module 模块,可以在location / { 中添加上 sub_filter 替换内容 '替换后内容'; 进行简单的内容替换,默认只替换html内容(如更改html源码里面的网址、文章等信息),其他文件类型,需要添加 sub_filter_types 参数指定更多类型,多次替换还需要加上sub_filter_once off;  。

如果网站较大可能会有很多其他的资源需要替代,需要在nginx上添加第三方模块ngx_http_substitutions_filter_module来实现更多功能。

再执行 /usr/local/nginx/sbin/nginx -s reload 使配置生效,域名解析生效后就可以通过t.vpser.net 访问txxx了。



  特别提醒:VPS价廉物美,是很多中小站长的首选,但目前整体市场良莠不齐,有很多快速跑路的不良商家,用低价吸引用户。我们提供的国内外VPS信息和资讯仅供参考,除文中特别注明亲身使用测试过的,很多没有长期亲身使用过,仅供参考,风险自担。经常性地备份是防止商家跑路导致网站数据丢失的最重要方法,另外,寻找稳定、信誉好的服务商也是关键。

上一篇:VPS网站运行环境LNMP安装
下一篇:Linux宝塔面板安装教程

易VPS主机测评

欢迎扫描关注我们的微信公众平台!

欢迎扫描关注我们的微信公众平台!