Frps部署ssl链接后去掉端口号的方法与转发速度的提升
› VFX大学 › VFX Pipeline | 数字创意工作流 › Linux上部署Frps与Mac上Frpc的配置方案详细记录 › Frps部署ssl链接后去掉端口号的方法与转发速度的提升
2023-12-16 - 21:06 #127171

追光
参与者
Frps部署ssl通讯方式后去掉端口号的方法与转发速度的提升
1、tcp类型通讯协议的转发:
需要在服务端、即有公网的服务器上配置Nginx反向代理,将域名或者ip转发到带端口的网络接口,这样就不需要输入端口号才能访问。这里我全程使用了ssl安全链接,所以转发到了https的端口上。
转发目标:https://127.0.0.1:1443 转发host:¥host
完整写法如下:
#PROXY-START/ location ^~ / { proxy_pass https://127.0.0.1:1443; 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 REMOTE-HOST $remote_addr; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_http_version 1.1; # proxy_hide_header Upgrade; add_header X-Cache $upstream_cache_status; #Set Nginx Cache set $static_filexVoJAVYp 0; if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" ) { set $static_filexVoJAVYp 1; expires 1m; } if ( $static_filexVoJAVYp = 0 ) { add_header Cache-Control no-cache; } } #PROXY-END/
经验记录:
1、如果带端口访问,ssl只需要在本地服务器 或者转发服务器添加ssl证书即可
2、如果要去掉端口,需要在转发服务器上使用反向代理,将域名转发到转发服务器的ssl模式转发端口
访问此域名则转发到服务器的:1443端口,1443端口又转发到本地服务器端口:443
在这个模式下,所有链接都被切换到https模式,需要在转发服务器和 本地服务器都部署当前域名的证书。转发为ssl时需要证书验证一次,到达本地服务器时候还需要本地服务器有证书。俩个证书可以不是同一个厂家的,但必须是同域名的。
2、http、https方式的Nginx反向代理转发去端口
2、1vhost_https_port方式Nginx反向代理配置
server { listen 80; listen 443 ssl http2; server_name test.newvfx.com; index index.php index.html index.htm default.php default.htm default.html; #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则 #error_page 404/404.html; ssl_certificate /www/server/panel/vhost/cert/test.newvfx.com/fullchain.pem; ssl_certificate_key /www/server/panel/vhost/cert/test.newvfx.com/privkey.pem; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; add_header Strict-Transport-Security "max-age=31536000"; error_page 497 https://$host$request_uri; #SSL-END #Jisongbin反向代理配置 location / { proxy_redirect off; proxy_set_header Host $host; 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; #htts://https必须是域名不能用ip:[vhost_https_port] proxy_pass https://test.newvfx.com:1443; proxy_ssl_session_reuse on; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_http_version 1.1; } #Jisongbin反向代理配置结束 }
2、2、http方式Nginx反向代理配置: vhost_http_port
server{ listen 80; server_name *.example.com; location / { //服务器的ip和端口http://[ip]:[port] vhost_http_port proxy_pass http://your_ip:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_hide_header X-Powered-By; } access_log off;