服务器上搭建的服务如何正确套上自己的域名?

起因:VPS上搭建了几个服务,目前只能通过服务器IP+端口的方式访问,感觉这样很不安全,就买了个域名想套上域名访问。目前是丢在CF上代理的。
过程:用AI问了下,然后按照AI的方法配置了nginx反向代理,折腾了一下午发现死活不行,一用域名访问就提示404 not found,按照域名的方法排查了也没解决。通过IP+端口的方式就能正常访问,实在不知道问题出现在哪里了,还望各位佬友指点一二。

server {
listen 443 ssl;
server_name www.xxxx.xyz;
ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/key.pem;

location /service1/ {
    proxy_pass http://localhost:1242/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

location /service2/ {
    proxy_pass https://localhost:2345/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

}

10 Likes

看看你的cf加密方式

改为灵活即可,服务器不用配置 443端口的ssl,配置正常的 80端口即可。

先能打开在说为什么要选择灵活。 完全、严格模式的ssl证书需要去cf下载

2 Likes

用1panel 装个 openrestry ,有可视化界面操作,简单易用

4 Likes

看了下是灵活状态的,另外我的证书是用的zerossl家的

域名有解析吗

1 Like

开一个静态页面看看能不能打开再说,然后在配置反向代理

灵活就不需要你在服务器额外 SSL, 并且你只需要监听 80 端口

有的,除了CF默认给我加的两条外,我自己有单独加了一个指向我服务器IP的解析

我现在不套了,全部用 tunnel来处理了 懒得麻烦

去了SSL改成80也不行,最开始就是用的80不行,然后才加的SSL

赞同,用 tunnel 省事,反代可以考虑 caddy,比 nginx 简单太多了

没用过这个,实在不行的话只能考虑试试佬你说的这两个了

部署个lucky 然后后面一路全自动

这个要怎么操作的?也是在CF上操作吗?

你先确定一下访问请求转到你的VPS上没有,如果是VPS上的nginx报404就看下nginx的日志,看看具体是啥原因导致的

cf上的域名解析,先吧小黄云关了,意思就是先别加速,直接原生解析原生响应
把这步跑通了再加小黄云

ping www.xxxx.xyz
可以看到解析成功吗?

var log 看看nginx日志

可以,但是解析的地址是cf的

你只监听了443,灵活的方式回源是走http,也就是80端口,那必然404

解决方案1:把这个443 ssl底下加一个80,cloudflare配置不变
解决方案2:把cloudflare的回源模式改成完全

而且你都用cf了,本地根本不需要维护SSL证书,CF会自动签发和续费。