当前位置: 首页 > news >正文

利用frps搭建本地自签名https服务的透传

nginx的搭建就不介绍了,教程很多,基本上油手就会。

在本例中,frp服务器的域名是 www.yourfrp.com,同时也是反向代理nginx服务器;

本地网站要用的域名: test.abcd.com

请事先将 test.abcd.com  解析到 frp所在服务器的ip 地址。

一、https服务所需自签名SSL文件的生成

openssl req -x509 -nodes -days 3650 -newkey rsa:4096 -keyout /etc/nginx/ssl/test-site.key -out /etc/nginx/ssl/test-site.crt

生成过程中需要填写一系列问题。

Common Name (e.g. server FQDN or YOUR name) []: test.abcd.com  ## 填写要用的网站域名

在本例中,签名证书的位置:

/etc/nginx/ssl/test-site.key

/etc/nginx/ssl/test-site.crt

二、 在本地局域网内配置 https网站

server {listen 80;listen [::]:80;server_name test.abcd.com;# Prevent nginx HTTP Server Detectionserver_tokens off;## 为防止封堵端口,修改了ssl端口listen 33443      ssl http2;  listen [::]:33443 ssl http2;# Path to the root of your installationroot /usr/share/nginx/html;index index.html index.php index.htm index.nginx-debian.html;# The CA keys and crt files' directory ssl_certificate     /etc/nginx/ssl/test-site.crt;ssl_certificate_key /etc/nginx/ssl/test-site.key;}

三、 配置本地frpc.ini

cat /etc/frp/frpc.ini### 内容如下,注意 Type = https ,local_port = 33443,我们自定义的HTTPs-SSL监听端口。[common]
server_addr = www.yourfrp.com
server_port = 7000[web-33443]
type = https
local_ip = 127.0.0.1
local_port = 33443
custom_domains = test.abcd.com

四、服务端frps.ini 的配置

注意: 这个是关键

cat /etc/frp/frps.ini###  内容如下[common]
bind_port = 7000
vhost_https_port = 443
vhost_http_port = 8080

五、重启 服务端和用户端的nginx、frps、 frpc

在服务端

systemctl restart frps.service

在用户端

nginx -t
systemctl restart nginx
systemctl restart frpc.service

 六、测试是否成功

在浏览器打开 : https://test.abcd.com/ 

选择高级,信任证书即可

七、说明

在配置的过程中发现,不需要在服务端的nginx反向代理服务器中再配置相关内容。这可能和frps已经再监听443 端口有关系。 如果要多个二级域名通过443 端口,转发内网的多个https 自签名网站的内容,则需要配置。

在反向代理服务器中,对nginx进行配置,强制将对test.abcd.com 的访问转发为https

cat /etc/nginx/conf.d/test-site.conf
## 内容如下server{listen 80;listen [::]:80;server_name test.abcd.com;rewrite ^/(.*)$ https://test.abcd.com:443/$1 permanent;}server{listen 80;listen [::]:80;server_name test2.abcd.com;rewrite ^/(.*)$ https://test2.abcd.com:443/$1 permanent;}
server{listen 80;listen [::]:80;server_name test3.abcd.com;rewrite ^/(.*)$ https://test3.abcd.com:443/$1 permanent;}

http://www.lryc.cn/news/157652.html

相关文章:

  • 安卓手机安装Linux然后在其中安装(jdk,MySQL,git)
  • javaee之黑马乐优商城2
  • Qt打开及创建项目,运行程序(1)
  • 八种十倍提升API性能的方式
  • pg_database中的datlastsysoid
  • 【已解决】ognl.PropertyAccessor
  • Pytest系列-快速入门和基础讲解(1)
  • 微信小程序实现连续签到七天
  • 将 Spring Boot 应用程序与 Amazon DocumentDB 集成
  • 前端小案例1:用css实现蒙层效果
  • RTMP流媒体服务器EasyDSS视频点播平台在不关闭防火墙的情况下平稳部署的具体步骤
  • QT中信号与槽机制的介绍,以及信号与槽连接的几种方式
  • 学习笔记——Java入门第二季
  • 计算机视觉的应用13-基于SSD模型的城市道路积水识别的应用项目
  • 【39元linux开发板-ADB远程教程】-[ADB远程终端]-幸狐Luckfox Pico-超越树莓派PICO
  • 900ES1-0100 honeywell 可减少视觉引导应用的整体开发时间
  • Openvslam
  • Windows通过RDP异地远程桌面Ubuntu【内网穿透】
  • js 基础 (ES 模块)
  • K8s 多集群实践思考和探索
  • 德国金融监管机构网站遭遇大规模DDoS攻击后“瘫痪”
  • 关于特殊时期电力行业信息中心运营思路
  • 机器人中的数值优化(八)——拟牛顿方法(上)
  • mac安装adobe需要注意的tips(含win+mac all安装包)
  • C/C++学习网址
  • Typora导出的PDF目录标题自动加编号
  • 【React】React学习:从初级到高级(二)
  • 无法将类型为“Newtonsoft.Json.Linq.JObject”的对象转换为类型“Newtonsoft.Json.Linq.JArray”解决方法
  • 从零开始,无需公网IP,搭建本地电脑上的个人博客网站并发布到公网
  • Excel VSTO开发6 -Range对象