nginx 和 frp共用80端口教程

之前用frp做内网穿透,把内网的服务器开放到外网。

如果是http服务的话,80端口的做法是使用二级域名xxx做个A记录指一台没有nginx 之类的服务器IP,然后用浏览器打开xxx.example.com就打开了。其他端口是在frpc.ini里指定的,就加个端口号如xxx.example.com:1234就打开了,这种情况用于外网服务器已经有nginx在运行占用了80端口, 这时如果不想用端口号来打开,就要做三级域名解析,同时nginx做反向代理,把这个1234端口代理到80.

其实只要给 nginx 增加一个简单的配置,就可以将某个域名的流量转发给 frp 了,还可以通过泛解析来映射不同的网站。

配置 nginx:

server {
    listen 80;
    server_name *.frp.example.com;
    location / {
        proxy_pass http://127.0.0.1:8081;
        proxy_set_header    Host            $host:80;
        proxy_set_header    X-Real-IP       $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_hide_header   X-Powered-By;
    }
}

上面这段写入/etc/nginx/sites-avaliable/default的最后面,监听*.frp.example.com, 并转发给127.0.0.8081, 接下来只要将frp默认监听 80 端口改成 8081 端口就好了.

配置 frp 服务端:

[common]
bind_port = 8787
vhost_http_port = 8081
token = passwd
max_pool_count = 100
subdomain_host = frp.example.com

[xxx]
type = http
subdomain = xxx

重点在于将 vhost_http_port 设为 8081, 还可以在common下加上dashboard相关的端口,用户,密码等信息。

配置 frp 客户端:

[common]
server_addr = exampel.com 
server_port = 8787 
token = passwd
login_fail_exit = false 

[xxx]
type = http
local_port = 80
subdomain = xxx

域名设置:

1, 增加二级域名frp的A解析,到外网服务器IP.

  1. 增加三级域名泛解析*.frp的CNAME解析,到frp.example.com.

这时要做完这2个域名解析就可以用xxx.frp.example.com访问了。

参考:http://www.miss.cat/frp-use-80-port-with-nginx/

https://blog.csdn.net/qq_36560161/article/details/79646523

如果是ssh,frpc如下面配置的话,还是一样的,跟http上面讲的东西没有关系:

[common]
server_addr = example.com 
server_port = 8787 
token = passwd
login_fail_exit = false 

[ssh-xxx]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 5000

还是这样登录:

ssh user@example.com -p5000

主题测试文章,只做测试使用。发布者:云大使,转转请注明出处:https://www.xp8.net/server/1002.html

(0)
打赏 微信扫一扫 微信扫一扫
云大使的头像云大使
上一篇 2018年10月16日 下午9:19
下一篇 2018年10月16日 下午9:19

相关推荐

  • nginx+php-fpm搭建wordpress-WP搭建教程

    1. 准备 LNMP 环境 2. 安装wordpress 3. 配置 一开始搭建的hexo博客,hexo博客有个缺点,他是用nodejs的服务器,不太稳定,服务器经常挂。所以最后还是决定用nginx+php-fpm搭建一个wordpress站点,这样网站就比较稳定。废话不多说,直接进入主题。 我是用的centos的服务器,下面的一些个命令也是centos的命…

    建站问题 2018年10月2日
    3.2K00
  • IO缓冲区管理的实例详解教程分析-linux教程

    如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624 商祺云-阿里代理、景安代理、西部代理 Linux系统IO中write原型为 ssize_t write(int filedes, const void * buff, size_t nbytes) ; 当调用write写数据的时候,调用完成后write直接返回,但是磁盘是个慢速…

    服务器运维 2019年1月17日
    2.8K00
  • 分享Linux/centos下如何查看环境变量-学派吧

    本篇文章主要给大家介绍linux下查看环境变量的命令方法,希望对需要的朋友有所帮助! 环境变量的查看 1.使用echo命令查看单个环境变量。例如: echo $PATH 2.使用env查看所有环境变量。例如: env 3.使用set查看所有本地定义的环境变量。 常用的环境变量: PATH 决定了shell将到哪些目录中寻找命令或程序 HOME 当前用户主目录…

    服务器运维 2019年5月7日
    4.9K00
  • 使用 htop 命令报错:-bash: htop: command not found

    今天通过htop命令查看下服务器状态、居然提示-bash: htop: command not found 后来看看没有这个工具。那我们进行安装下1: yum -y install htop 由于htop是一个扩展工具,是一个强大的进程管理前端工具,有的系统优化去掉了 。2、第二个解决办法步骤一:yum install -y epel-release步骤二:…

    2018年8月26日
    8.1K00
  • 学派吧-linux下Shell如何获取某目录下所有文件夹的名称详解-linux教程

    学派吧-这篇文章主要介绍了linux Shell获取某目录下所有文件夹的名称,需要的朋友可以参考下 查看目录下面的所有文件: #!/bin/bash cd /目标目录 for file in $(ls *) do echo $file done 延伸的方法,查看目录下面的所有目录 #!/bin/bash cd /export/bak/original_doc…

    服务器运维 2018年12月19日
    1.9K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

工作时间:周一至周五,9:30-18:30,节假日休息

添加微信
添加微信
分享本页
返回顶部
---------官方优惠叠加渠道折扣:通过我们购买腾讯云/阿里云,价格更低,服务更优。更有专业配置指导与服务。微信同步:18838889666----