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

相关推荐

  • apache默认对进行了编码的url 返回 404-Linux运维日志

    有运维或服务器方面的需求,可以联系博主 QQ 7271895 我们通常使用 urlencode()之类的函数将斜线编码成%开头的字符串 但是默认情况下 apache发现请求的URL中有对斜线的编码后的字符,是会返回404页面的 此时,就用到了 AllowEncodedSlashes on 指令允许请求继续被处理 如果apache配置的https,那么http…

    2018年9月30日
    2.2K00
  • 学派吧-在Linux下安装FTP及添加用户的实例教程-linux教程

    本篇文章主要介绍了详解CentOS6.8 安装FTP及添加用户 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 一 安装FTP 1 检测是否已经安装FTP rpm -qa | grep vsftpd 2 若没有,则进行安装 yum install vsftpd 二 设置vsftpd开机启动 chkconfig –level 3…

    服务器运维 2018年12月12日
    2.2K00
  • Linux/centos无法打包-报错Read-only file system的解决方法-学派吧

    问题描述: 1:Linux系统变成只读了,复制文件提示:Read-only file system,如图所示: 2:centos系统无法打包、无法建立文件夹、无法启动宝塔等多重情况。都有可能是这个原因。 解决方法: 使用fsck手动修复,具体操作如下 注:如果硬盘故障则需要更换硬盘。 重启系统后使用root进入单用户模式,运行 fsck.ext3 -y /d…

    2019年5月1日
    3.8K00
  • 如何在Linode CentOS7开启Google TCP-BBR优化算法 | linux运维

    Linux在4.9版本的内核新增了一款TCP拥塞控制技术:BBR,Linode最新内核也更新到4.9,但是没有把BBR编译进去,下面是教程是替换Linode CentOS7内核,并开启Google TCP-BBR优化算法方法。 注意:Linode、阿里云测试OK,Ucloud测试加载4.9变为只读系统。 1. 安装elrepo提供的kernel4.9 增加e…

    服务器运维 2018年11月21日
    2.7K00
  • nginx下禁止访问.git等隐藏文件夹 -linux运维教程

    今天进腾讯云的控制台 偶然发现腾讯云一直给我提示的漏洞 其中有一个挺为严重的 汗.png 我的网站配置下并没有屏蔽隐藏文件夹例如.git等文件夹的访问 甚至可以直接下载隐藏文件夹的内容确实是我没有想到的 如果你也有这种情况 就需要进行配置服务器来禁止敏感文件的访问了 否则就直接暴露在大庭广众之下了… nginx的配置很简单 在server{}段内…

    服务器运维 2018年10月16日
    3.3K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

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

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