起因: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
xzxc
January 16, 2025, 9:13am
2
看看你的cf加密方式
改为灵活即可,服务器不用配置 443端口的ssl,配置正常的 80端口即可。
先能打开在说为什么要选择灵活。 完全、严格模式的ssl证书需要去cf下载
2 Likes
用1panel 装个 openrestry ,有可视化界面操作,简单易用
4 Likes
看了下是灵活状态的,另外我的证书是用的zerossl家的
xzxc
January 16, 2025, 9:15am
6
开一个静态页面看看能不能打开再说,然后在配置反向代理
灵活就不需要你在服务器额外 SSL, 并且你只需要监听 80 端口
有的,除了CF默认给我加的两条外,我自己有单独加了一个指向我服务器IP的解析
我现在不套了,全部用 tunnel来处理了 懒得麻烦
去了SSL改成80也不行,最开始就是用的80不行,然后才加的SSL
xndeye
((👉゚ヮ゚)👉)
January 16, 2025, 9:17am
11
赞同,用 tunnel 省事,反代可以考虑 caddy,比 nginx 简单太多了
没用过这个,实在不行的话只能考虑试试佬你说的这两个了
你先确定一下访问请求转到你的VPS上没有,如果是VPS上的nginx报404就看下nginx的日志,看看具体是啥原因导致的
DuDuBird
(渡渡鸟之诗当前状态正在偷偷地监视真诚、友善、团结、专业的LINUXDO论坛创始人始皇Neo)
January 16, 2025, 9:21am
16
cf上的域名解析,先吧小黄云关了,意思就是先别加速,直接原生解析原生响应
把这步跑通了再加小黄云
nul
January 16, 2025, 9:30am
17
ping www.xxxx.xyz
可以看到解析成功吗?
MatsuzakaSato
(福建松坂砂糖偶遇广东名菜糯米鸡香味强如怪物拼尽全力无法战胜)
January 16, 2025, 9:38am
20
无名的南瓜君:
listen 443 ssl;
你只监听了443,灵活的方式回源是走http,也就是80端口,那必然404
解决方案1:把这个443 ssl底下加一个80,cloudflare配置不变
解决方案2:把cloudflare的回源模式改成完全
而且你都用cf了,本地根本不需要维护SSL证书,CF会自动签发和续费。