配置nginx保证frps服务器与web共用80端口的方法

首先你会有个疑惑,frp是什么呢?简单的说frp就是内网穿透工具,配置好客户端以后,可以通过服务器来访问内网。

现在我的服务器,已经用nginx 做站了,80端口只有一个,那如果frp的服务端也想使用80端口,那应该怎么办呢?

经过查询,这个是可以实现的,就是利用nginx的反向代理来实现。

补充一下:frps就是服务器端(server),frpc就是客户端(client)。

第一步:修改服务器中nginx.conf配置文件

在nginx.conf中http{ }里添加以下参数,

server {

  listen 80;

  server_name xiaoyue.ml www.xiaoyue.ml;

  location / {

   proxy_pass http://127.0.0.1:8080;

   proxy_redirect http://$host/ http://$http_host/;

   proxy_set_header X-Real-IP $remote_addr;

   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

   proxy_set_header Host $host;

  }

}

如下图,设置好后保存,重启nginx

第二步:修改frp服务端配置文件

既然反向代理到了8080端口,那么frp服务端的配置文件也需要进行设置

frps.ini配置文件中vhost_http_port = 8080端口

第三步:修改frp客户端配置文件

第一步配置中:server_name xiaoyue.ml www.xiaoyue.ml; 这里填写对应域名。

也支持泛解析,例如:server_name *.xiaoyue.ml;需要域名同时进行泛解析才行。

那么frpc.ini怎么修改呢,很简单

对应穿透服务配置里配置好对应域名,custom_domains = xiaoyue.ml

第四步:

服务器中重启frps,本地电脑中启动frpc,就可以在浏览器中通过80端口直接访问xiaoyue.ml了。

补充一下1:

xiaoyue.ml是解析到我的服务器中,而这个网站是搭建在局域网里面我自己的电脑中。

也就是首先保证你电脑上访问127.0.0.1,是有内容的哦。

补充一下2:

第一步的反向代理也可以这么做

宝塔后台

1)网站-->添加站点,输入你的域名

比如输入添加的域名xiaoyue.ml 提交

2)点击设置-->反向代理

目标URL 中填写  http://127.0.0.1:8080 ,请勿输入错误

选择 启用反向代理

PS:是不是看的有点懵。。。

其实本文核心就一步,那就是将比如你访问xiaoyue.ml(默认情况下,我们访问网站都是80端口),反向代理到xiaoyue.ml:8080端口而已。

那这样做有什么意义呢,就是想直接通过域名访问,而不是通过域名:端口号访问网站。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 详解Nginx与Apache共用80端口的配置方法

    一个典型的 Nginx + Apache 应用方案可以是Nginx 占用 80 端口,过滤静态请求,然后动态请求即 Proxy 到 Apache 的 8080 端口.Proxy 反向代理的好处是访问的时候,始终就是 80 端口,来访者不会觉察到有任何的区别. 但有的应用确非常"聪明",识别到 Apache 所位于的端口是 8080 ,就会把相关的超链接都一并加上 :8080 的后续.这么就死定了,还能有正常访问麽?! 有个方法可以解决这事,就是把 apache 也运行在80端口上.同一

  • 详解nginx 配置多个tomcat共用80端口

    场景:项目1放在tomcat1中,项目2放在tomcat2中,两个tomcat放在同一台服务器上,需要共享80端口访问 注意:这里和集群部署是不同的,集群部署是一个项目放在多个tomcat中. 这里通过nginx做反向代理,nginx请到http://nginx.org/en/download.html自行下载, 修改conf/nginx.conf中的server如下: server { listen 80; server_name 192.168.1.197; #charset koi8-r;

  • nginx配置多个站点共用80端口的解决方法

    只用改一个地方,在http模块里面加入你要引用的虚拟主机配置文件目录即可: 例如:include /usr/local/nginx/default.d/*.conf; http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent"

  • 配置nginx保证frps服务器与web共用80端口的方法

    首先你会有个疑惑,frp是什么呢?简单的说frp就是内网穿透工具,配置好客户端以后,可以通过服务器来访问内网. 现在我的服务器,已经用nginx 做站了,80端口只有一个,那如果frp的服务端也想使用80端口,那应该怎么办呢? 经过查询,这个是可以实现的,就是利用nginx的反向代理来实现. 补充一下:frps就是服务器端(server),frpc就是客户端(client). 第一步:修改服务器中nginx.conf配置文件 在nginx.conf中http{ }里添加以下参数, server

  • 利用Nginx反向代理功能解决WEB网站80端口被封的解决方法

    大陆的网络环境,都在天朝神兽的制度下让我等小P民悲剧一片:动不动就拔网线.封机房:现在更厉害的一招,从网关封杀你的80端口,一旦被封,网站域名就无法访问: 以上便废话,下面转入正题,其它就不帖了,直接给代码,利用nginx的反向代理功能,一般大家都很看懂,也不多记录了: [code] server { listen 80; server_name a.jb51.net; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOT

  • Nginx如何配置多个服务域名解析共用80端口详解

    目录 前言 配置nginx多服务共用80端口 以下以两个服务使用域名访问,共用80端口为例 方案一:多个不同端口服务共用80端口 方案二:多个服务共用80端口 总结 前言 由于公司一台服务器同时有多个服务,这些服务通过域名解析都希望监听80/443端口直接通过域名访问,比如有demo.test.com和product.test.com.这时候我们可以使用nginx的代理转发功能帮我们实现共用80/443端口的需求. 备注:由于HTTP协议默认监听80端口,HTTPS协议默认监听443端口,所以使

  • Jsp和PHP共用80端口整合Apache和Tomcat(访问时无需加端口号)

    目的: 整合Apache和Tomcat,使得Java工程和PHP工程都能共用80端口,访问网站时,无需在地址栏中加端口号. 环境说明: Linux CentOS 32位 Apache 2.2.2 Tomcat 7.0.37 准备工作: 下载mod_jk.so http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/ 打开链接找到合适的文件下载,下载后改名为mod_jk.so 修改Apache相关文件 1.将mod_j

  • Nginx搭建HTTPS服务器和强制使用HTTPS访问的方法

    HTTPS简介 HTTPS(Hyper Text Transfer Protocol Secure),是一种基于SSL/TLS的HTTP,所有的HTTP数据都是在SSL/TLS协议封装之上进行传输的.HTTPS协议是在HTTP协议的基础上,添加了SSL/TLS握手以及数据加密传输,也属于应用层协议.Https使用的默认端口是443.更多HTTPS原理可以参考阮一峰老师的文章:http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html SSL证书 证书类

  • 详解Tomcat多域名配置(多个项目共用80端口)

    今天在做项目时,需要用已申请好的三个二级域名(公司不可能每个项目都申请一个顶级域名,所以这里解析的三个二级域名),分别配置到三个项目,网上搜了一堆,感觉看的不明不白,故在此记录下. 总体步骤是:申请域名>>配置tomcat>>域名绑定IP. 这里主要说明配置Tomcat(我的服务器是windows,lilux下同理修改): 首先保证三个项目正常部署在同一个tomcat里,默认端口号是都是80,这时候访问的url均为http://IP地址/各自项目名/XXX,如下图 然后修改tomc

  • 64位Windows2008系统下IIS7和Tomcat7整合共用80端口如何解决

     加一点自己的东西: 从没有接触过服务器的小白在几天之内要完成windows服务器与linux服务器的配置,当时真的非常紧张.我们的服务器上面有其他的项目占用了80端口,如果需要绑定域名能够让在微信中访问不提示危险网站必须使用80端口(访问80端口是不需要输入端口号的 比如一般测试是使用的8080端口访问时需要输入 http://域名:8080/项目名 使用80端口则为http://域名/项目名  具体的项目和写法看自己的设定 此处只说明端口的问题).更让人无语的是服务器上另一个项目不是java

随机推荐