• 使用frp+nginx内网穿透并配置https


    前提

    一台公网服务器,有自己的域名,有域名证书

    安装frp内网穿透服务端和客户端可以参考这篇文章:frp内网穿透之实现内网linux主机访问

    公网服务器(frp服务端所在的服务器)安装nginx(略)

    假设对域名aaa.bbb.com开通https访问,将aaa.bbb.com指向到公网服务器

    准备完毕后,接着进行下面的配置

    配置frps服务端

    登录服务器,前往frps安装目录

    cd /usr/local/frp_0.27.0_linux_amd64/

    打开配置文件

    vim frps.ini

    设置虚拟端口,新增如下内容:

    vhost_http_port = 7171

    保存退出,重启frp

    systemctl restart frps

    配置Nginx代理

    配置https证书,将pem,key两个证书文件放在/etc/nginx/ssl_files文件夹下,命名为server.pem,server.key

    创建nginx配置文件

    cd /etc/nginx/conf.d/

    新增一个conf文件(https_aaa.bbb.com.conf),输入如下配置:

    # frp的接收https请求的反向代理
    server {
            listen       443 ssl http2;
            listen       [::]:443 ssl http2;
            # 访问的域名
            server_name aaa.bbb.com;
    		# 配置https证书
            ssl_certificate "/etc/nginx/ssl_files/server.pem";
            ssl_certificate_key "/etc/nginx/ssl_files/server.key";
            ssl_session_cache shared:SSL:1m;
            ssl_session_timeout  10m;
            ssl_ciphers HIGH:!aNULL:!MD5;
            ssl_prefer_server_ciphers on;
    
            location / {
                    # 7171对应vhost_http_port
                    proxy_pass http://127.0.0.1:7171;
                    proxy_set_header Host $http_host;
                    proxy_set_header X-Real-IP $remote_addr;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
                    proxy_set_header Upgrade $http_upgrade;
                    proxy_set_header Connection "upgrade";
                    # Expect for doris
                    proxy_set_header Expect $http_expect;
    
                    proxy_connect_timeout 7d;
                    proxy_send_timeout 7d;
                    proxy_read_timeout 7d;
            }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    其中aaa.bbb.com为需要开通https的域名

    保存文件

    检查Nginx配置是否正确:

    nginx -t

    出现success字样表示配置成功

    重启nginx

    nginx -s reload

    配置frp客户端

    假设将本地1.1.1.1开发服务器中的80端口绑定到aaa.bbb.com域名,即https://aaa.bbb.com → http://1.1.1.1:80

    登录1.1.1.1服务器,安装frpc客户端

    cd /usr/local/frp_0.27.0_linux_amd64/

    vim frpc.ini

    新增如下配置:

    [http-aaa]
    type = http
    local_port = 80
    custom_domains = aaa.bbb.com
    
    • 1
    • 2
    • 3
    • 4

    保存,重启frpc

    systemctl restart frpc

    浏览器访问:https://aaa.bbb.com 进行验证

  • 相关阅读:
    Mybatis练习
    Linux CPU线程绑核
    Python 数据可视化解决方案之 集成 PyAudio 和 PySimpleGUI(教程含源码)
    Spring MVC处理用户请求的完整流程
    JaCoCo增量覆盖率的基本实现原理
    译译交友项目介绍
    LeetCode-219. 存在重复元素 II.(java)
    Web开发 前端介绍 HTML CSS
    NR频率资源划分
    JAVA基础(四十二)——集合之Collection
  • 原文地址:https://blog.csdn.net/thc1987/article/details/128080744