百度出来都是一样的答案
server {
listen 80 default;
server_name _;
return 403;
}
在结尾加这个server,nginx配置文件直接报错
陕西省网友说:server { listen 80 default_server; listen [::]:80 default_server; listen 443 default_server; listen [::]:443 default_server; ssl_reject_handshake on; server_name _; return 444; }复制代码
江西省网友说:默认nginx配置域名就好了
贵州省网友说:请问我如何百度搜索?
浙江省网友说:用的宝塔吗?
湖南省网友说:server { listen 80; server_name 123.123.123.123(改成你的IP地址); return 403; }复制代码
这样试试
吉林省网友说:正常绑定域名的,ip不能访问,你的是反代项目吗,反代的话不放行反代端口就行了
青海省网友说:你这个元老啊
云南省网友说:给你的服务器 IP 自签一个证书,也可以用在线网站:https://myssl.com/create_test_cert.html
如果用在线网站的话,域名写 IP,有效期选 5 年,生成后要把根证书和证书内容合并到一个文件中。
然后创建一个虚拟主机,配置文件大概就是这样(记得改示例中的证书文件和 IP):server { listen 80 default_server; listen 443 ssl http2 default_server; server_name 你的IP; ssl_certificate /etc/nginx/conf.d/default.pem; ssl_certificate_key /etc/nginx/conf.d/defaultkey.pem; ssl_protocols TLSv1.2 TLSv1.3; return 444; } 复制代码
这样访问 https://ip 的话,就不会暴露其他网站的证书了,同时也会被直接断开链接(444 状态码最省资源)
也可以加上这两行,限制该虚拟主机只允许服务器内部访问。allow 127.0.0.0/8; deny all;复制代码
或者你可以看一下 Nginx 官方文档,不需要自签证书也可能实现一样效果:
https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_reject_handshake
青海省网友说:既然报错,你就要说具体的报错信息
不然谁知道呢
江苏省网友说:return 444;