当前位置:   article > 正文

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

frp配置ssl

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

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

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

请事先将 test.abcd.com  解析到 frps所在服务器的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网站

  1. server {
  2. listen 80;
  3. listen [::]:80;
  4. server_name test.abcd.com;
  5. # Prevent nginx HTTP Server Detection
  6. server_tokens off;
  7. ## 为防止封堵端口,修改了ssl端口
  8. listen 33443 ssl http2;
  9. listen [::]:33443 ssl http2;
  10. # Path to the root of your installation
  11. root /usr/share/nginx/html;
  12. index index.html index.php index.htm index.nginx-debian.html;
  13. # The CA keys and crt files' directory
  14. ssl_certificate /etc/nginx/ssl/test-site.crt;
  15. ssl_certificate_key /etc/nginx/ssl/test-site.key;
  16. }

三、 配置本地frpc.ini

  1. cat /etc/frp/frpc.ini
  2. ### 内容如下,注意 Type = https ,local_port = 33443,我们自定义的HTTPs-SSL监听端口。
  3. [common]
  4. server_addr = www.yourfrp.com
  5. server_port = 7000
  6. [web-33443]
  7. type = https
  8. local_ip = 127.0.0.1
  9. local_port = 33443
  10. remotePort = 443
  11. custom_domains = test.abcd.com

四、服务端frps.ini 的配置

注意: 这个是关键

  1. cat /etc/frp/frps.ini
  2. ### 内容如下
  3. [common]
  4. bind_port = 7000
  5. vhost_https_port = 443
  6. vhost_http_port = 8080

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

在服务端

systemctl restart frps.service

在用户端

  1. nginx -t
  2. systemctl restart nginx
  3. systemctl restart frpc.service

 六、测试是否成功

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

选择高级,信任证书即可

七、说明

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

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

  1. cat /etc/nginx/conf.d/test-site.conf
  2. ## 内容如下
  3. server{
  4. listen 80;
  5. listen [::]:80;
  6. server_name test.abcd.com;
  7. rewrite ^/(.*)$ https://test.abcd.com:443/$1 permanent;
  8. }
  9. server{
  10. listen 80;
  11. listen [::]:80;
  12. server_name test2.abcd.com;
  13. rewrite ^/(.*)$ https://test2.abcd.com:443/$1 permanent;
  14. }
  15. server{
  16. listen 80;
  17. listen [::]:80;
  18. server_name test3.abcd.com;
  19. rewrite ^/(.*)$ https://test3.abcd.com:443/$1 permanent;
  20. }
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/506176
推荐阅读
相关标签
  

闽ICP备14008679号