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
如何为多个PHP-FPM容器构建单一的Nginx Docker镜像教程-linux运维教程
下一篇 2018年10月16日 下午9:19

相关推荐

  • Ubuntu系统ECS使用脚本之后如何处理出现数据库连接不上-linux运维

    本篇文章给大家带来的内容是关于Ubuntu系统ECS使用脚本之后如何处理出现数据库连接不上,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 Ubuntu系统ECS使用“如何通过防火墙策略限制对外扫描行为”脚本之后出现无法远程、数据库连接不上 Ubuntu系统ECS使用“如何通过防火墙策略限制对外扫描行为”中的脚本进行安全防护后出现系统无法远程…

    服务器运维 2018年11月21日
    2.1K00
  • 腾讯云轻量云服务器密码重置

    轻量应用服务器提供重置实例登录密码的功能。主要应用在以下场景: 首次从本地计算机远程登录实例: 首次使用远程登录软件(或使用 SSH )登录 Linux 实例前,您需要通过此操作重置用户名(root)的密码。 首次登录 Windows 实例前,若您在创建实例时登录方式选择了自动生成密码,则建议通过此操作重置管理员账号(如 Administrator)的密码,…

    2026年6月22日
    60900
  • 腾讯云轻量服务器如何修改密码和重装系统

    腾讯云轻量应用服务器怎么重置密码呢 有时我们需要远程登录轻量应用服务器的时候,需要输入用户名和密码。而轻量应用服务器默认是没有设置密码的。这就需要先重置一下密码。 打开腾讯云轻量应用服务器控制台,点击“更多”,再选择“管理”,如图 如何重新安装系统呢 。看下图

    2022年3月24日
    4.4K00
  • 学派吧-在linux下安装python3的过程教程-linux教程

    本篇文章主要介绍了在centos7下安装python3的步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 环境搭建 准备工具: centos7:mirror.bit.edu.cn/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1611.iso virtuslvox:www.virtualbo…

    服务器运维 2018年12月14日
    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日
    4.1K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

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

添加微信
添加微信
分享本页
返回顶部