局域网部署通过frp加自己的SSL证书开启https的方法

1 局域网部署seatable然后通过frp把端口映射出去,做的公网访问,腾讯云的固定IP
2 frps搭建可参考 利用阿里云服务器和frp进行内网穿透,实现远程访问内网ip服务器_mobaxterm内网穿透选项-CSDN博客
3 搭建好后,安装nginx只需在nginx的配置文件conf.d加你自己相关配置就可以,有几个证书就加几个配置文件。
image
我之所以放在这里
image
以后大家需要增加资源的时候,只需要在conf.d下面添加就可以了。腾讯可以免费申请10个SSL证书。
server {
listen 80;
server_name ”你的域名“;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name ”你的域名“;
ssl_certificate # 你的crt ssl证书路径(相对绝对路径都行)
ssl_certificate_key # 你的k扩展名为ey 证书路径 (相对绝对路径都行)
client_max_body_size 50m;
client_body_buffer_size 256k;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
proxy_connect_timeout 300s;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
proxy_buffer_size 64k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_ignore_client_abort on;
location / {
proxy_pass http://127.0.0.1:880; # 地址填写你的云服务的内网地址,端口号填写你跑的项目在frp映射的端口号,顺便开启相关端口的防火墙规则。
proxy_redirect off;
proxy_set_header Host $host:80;
proxy_ssl_server_name on;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

完了返回seatable/conf下面把 ccnet;dtable_web_settings.py 等相关文件的http换成https就OK了。
地址转域名的配置,用了条正则一劳永逸,哈哈
server {

    listen       80;

    server_name  *.你备案的域名.com;

    if ($http_host ~* "^(.*?).二级域名.com$") {    #正则表达式

            set $domain $1;                     #设置变量
    }


    location / {

        if ($domain ~* "seatable") {

           <!-- proxy_pass http://公网地址:8888;      #域名中有seatable,转发到8888端口 -->

        }

        if ($domain ~* "oa") {

           <!-- proxy_pass http://公网地址:8889;      #域名中有oa,转发到8889端口 -->

        }

        tcp_nodelay     on;

        proxy_set_header Host            $host;

        proxy_set_header X-Real-IP       $remote_addr;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        #以上三行,目的是将代理服务器收到的用户的信息传到真实服务器上


        root   html;

        index  index.html index.htm;            #默认情况

    }

}

2 个赞

你好,按着文章的步骤,在重启nginx的时候,我出现了错误,显示找不到证书。
nginx: [emerg] cannot load certificate “/volume1/docker/seatable/seatable-data/ssl/1.pem”: BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(‘/volume1/docker/seatable/seatable-data/ssl/1.pem’,‘r’) error:2006D080:BIO routines:BIO_new_file:no such file)
求解。