443端口被占用,cloudflare实现非标准端口的代理,以实现域名不加端口号的访问
443端口被占用,但是又不想换这个服务的端口,可以利用cloudflare
代理来实现域名不加端口访问
1.域名要托管在cloudflare
,然后域名解析到你的服务器IP,打开橙色小云朵
比如你nginx上启动一个8443端口的代理,配置如下:
server {
# 如果有资源,建议使用 https + http2,配合按需加载可以获得更好的体验
listen 8443 ssl http2;
server_name test.example.xyz;
gzip on;
gzip_min_length 1k;
gzip_comp_level 9;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
# 证书的公私钥
ssl_certificate /etc/nginx/ssl/cf-example.xyz.pem;
ssl_certificate_key /etc/nginx/ssl/cf-example.xyz.key;
ssl_protocols TLSv1.2 TLSv1.3; # 启用TLS v1.2和v1.3
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1; # 使用更强的ECDH曲线
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off; # 关闭SSL会话票据
# location / {
# 用于配合 browserHistory使用
# try_files $uri $uri/index.html /index.html;
#}
location / {
proxy_pass http://localhost:1234/;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
}
}
ssl
证书可以用cf
的
2.在cloudflare
的规则里设置流量目标端口
比如我nginx设置的8443,在这里选择自定义筛选表达式—— 主机名 等于 <填写你的主机名>
然后目标端口填写8443,保存即可。
这样就可以通过test.example.xyz
不加端口访问你部署的服务了,但是你的网站用不了CF
的加速了。
顺便提一下,cloudflare
开启小云朵后支持的目标端口
Cloudflare 支持的 HTTP 端口
80
8080
8880
2052
2082
2086
2095
Cloudflare 支持的 HTTPS 端口
443
2053
2083
2087
2096
8443
Cloudflare 支持的端口,但是禁用缓存,意思是你的网站没有加速功能了
License:
CC BY 4.0