FRP内网穿透-HTTPS代理Web服务

通过自定义域名访问内网的 Web 服务

本文将介绍使用 自定义域名 通过FRP将内网机器上的web服务映射到外网,并且配置SSL证书,使用 HTTPS协议 访问。

需要使用的工具:

  • 域名一个(解析到 FRP服务端 机器上)
  • 域名证书(若不需要 https 可不需要)
  • NGINX(安装在 FRP客户端 机器上)

1. 配置FRP服务端

  • 配置 frps.toml
    在 frps.toml 文件中添加以下内容,以指定 HTTP 请求的监听端口为 80,HTTPS请求的监听端口为 443:

    toml 复制代码
    # HTTP 类型代理
    vhostHTTPPort = 80
    # HTTPS 类型代理
    vhostHTTPSPort = 443
  • 配置好需重启frps服务

    shell 复制代码
    sudo systemctl restart frps

2. 配置FRP客户端

  • 配置 frpc.toml
    在 frpc.toml 文件中添加一下内容,以指定访问域名及访问协议:

    toml 复制代码
    [[proxies]]
    name = "web1"
    type = "http"
    localPort = 80
    customDomains = ["test1.example.com"]
    
    [[proxies]]
    name = "web2"
    type = "https"
    localPort = 443
    customDomains = ["test2.example.com"]
  • 配置好需重启frpc服务

    shell 复制代码
    sudo systemctl restart frpc

3. 配置 NGINX

在内网机器上安装好Nginx
将SSL证书上传到内网机器

新增 nginx 配置(HTTP配置):

conf 复制代码
server {
	#HTTP 默认访问端口号为 80
	listen 80; 
	#请填写绑定证书的域名
	server_name test1.example.com; 

	location / {
		root   /opt/test/web1;
		try_files $uri $uri/ /index.html;
		index  index.html index.htm;
	}
}

新增 nginx 配置(HTTPS配置):

conf 复制代码
server {
	#HTTPS默认访问端口号为 443
	listen 443 ssl; 
	#请填写绑定证书的域名
	server_name test2.example.com; 
	#请填写证书文件的相对路径或绝对路径
	ssl_certificate /etc/nginx/conf.d/cert/test2.example.com.crt; 
	#请填写私钥文件的相对路径或绝对路径
	ssl_certificate_key /etc/nginx/conf.d/cert/test2.example.com.key; 
	ssl_session_timeout 5m;
	#请按照以下协议配置
	ssl_protocols TLSv1.2 TLSv1.3; 
	#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
	ssl_prefer_server_ciphers on;

	location / {
		root   /opt/test/web2;
		try_files $uri $uri/ /index.html;
		index  index.html index.htm;
	}
}

配置好需 重载nginx配置

shell 复制代码
# 校验nginx配置
sudo nginx -t
# 重载nginx配置
sudo nginx -s reload

4. 访问web服务

分别访问 http://test1.example.comhttps://test2.example.com,能访问则说明配置成功。

上一章:FRP内网穿透-客户端(frpc)

相关推荐
生产队队长2 分钟前
Linux:awk进行行列转换操作
android·linux·运维
捷米研发三部2 分钟前
EtherNet/IP转CAN协议转换网关实现罗克韦尔 PLC与压力传感器通讯在轮胎压力监测系统的应用案例
服务器·网络
白玉瑕12 分钟前
服务器的构成
运维·服务器
linweidong13 分钟前
在Ubuntu新版本安装gcc4.8等老版本环境
linux·运维·ubuntu
2501_9159184123 分钟前
除了 Perfdog,如何在 Windows 环境中完成 iOS App 的性能测试工作
android·ios·小程序·https·uni-app·iphone·webview
jarreyer26 分钟前
【docker的gpu加速相关问题解决记录】
运维·docker·容器
石像鬼₧魂石28 分钟前
80 端口(Web 服务)渗透测试完整总结(含踩坑 + 绕过 + 实战流程)
linux·运维·服务器·前端·网络·阿里云
韭菜钟30 分钟前
制作自定义Docker镜像并部署使用
运维·docker·容器
米高梅狮子35 分钟前
11. Linux 防火墙管理
linux·运维·服务器
小五传输1 小时前
网闸怎么选?新型网闸凭安全高效,成企业优选方案
大数据·运维·安全