我有一个正在生产的laravel应用程序(使用Laravel Forge和一个数字海洋水滴)。
我可以通过www.domain.com访问这个应用程序,但如果我尝试使用服务器的IP,我会得到一个404 (nginx)。
如何使用IP地址访问应用程序?
非常感谢你的帮助
编辑:
这是我在Laravel Forge上的Nginx配置:
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name domain.com;
root /home/forge/domain.com/public;
...
}发布于 2020-01-29 18:53:38
出现这种情况的原因是,当找不到匹配域时,nginx会搜索包含default_server的配置块。您可以删除默认值(/etc/nginx/enabled-sites/default)的default_server标记,并将其移动到默认情况下要显示的站点的配置:
server {
listen 80 default_server;
server_name example.net www.example.net;
...
}使用已更新的default_server的服务器块
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2;
server_name domain.com;
root /home/forge/domain.com/public;
...
}在重启nginx之前,请务必编辑默认配置以删除default_server标签,default_server不允许有两个配置块。可以使用nginx -t验证配置
欲了解更多信息,请访问nginx documentation
发布于 2020-01-29 18:54:30
为什么要从裸ip访问您的服务器?
Nginx返回一个404,因为它在你的服务器上找不到请求的域名。
如果查看文件夹结构,则项目文件夹与站点域相对应。它会根据您的域名将您重定向到正确的文件夹。
您可以创建一个默认项目,以便在通过ip进行请求时显示phpinfo()之类的内容
https://stackoverflow.com/questions/59965466
复制相似问题