如果将NGINX更改为NGINX,发生了404错误怎么办?

开始

「404错误。」我只进行了简单的设置,为什么发生这种情况?
无法访问文档根目录,这太基础了!
非常抱歉,花了大约三个小时才最终解决了。

环境

    • Windows 10

 

    Nginx 1.16.1

起初是由于使用Windows导致出现的问题。

在Windows中,反斜杠”\\”被用作目录分隔符号,也可以用日元符号”¥”代替。
根据调查,斜杠”/”在很多情况下也可以使用,但通常我们看到的是日元符号。
在Linux系统中,默认使用斜杠作为分隔符号。
这个分隔符号的差异是其中一个原因。

写出类似Windows的路径

据说nginx最初是为Linux设计的软件,所以可以使用斜杠进行各种配置。

我不知道那樣的事情,所以我在Windows上使用了反斜杠來進行設定。

异常的设置

这是一个异常的设定。

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        listen       443 ssl;
	server_name  192.168.30.123 test.domain.local;

        ssl_certificate      C:\ssl\server.crt; # ここに円マークを使用している

        ssl_certificate_key  C:\ssl\server.key; # ここに円マークを使用している

        location / {
            proxy_pass http://127.0.0.1:8080/;
        }
        location /test {
            alias e:\nginx; # ここに円マークを使用している

            index index.html;
       }
    }
}

错误日志

:/logs/error.log
2020/03/09 13:58:56 [crit] 900#5188: *11 CreateFile() “e:”

错误日志路径为:/logs/error.log
2020年3月9日13点58分56秒 [严重] 900#5188: *11 CreateFile() “e:”

“ginx/index.html” 失敗 (123: 文件名、目录名或卷标语法不正确),客户端:192.168.0.18,服务器:192.168.30.123,请求:”GET /index.html HTTP/1.1″,主机:”test.domain.local”
根据这段描述,您是否能够立即理解,在 “e:和ginx/index.html” 失败之间存在换行?

巧合重叠了

    • Windows形式のパスで書いたこと

 

    • フォルダ名がNginxであったこと

 

    • ssl_certificateの設定はWindows形式でも問題なかったこと

 

    エスケープシーケンスなんて忘れていたこと

总结

如果将分隔符更改为斜杠,似乎可以不需要逃逸序列。

正常设置

因此,我做出了以下的设定。

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        listen       443 ssl;
	server_name  192.168.30.123 test.domain.local;

        ssl_certificate      C:/ssl/server.crt;
        ssl_certificate_key  C:/ssl/server.key;

        location / {
            proxy_pass http://127.0.0.1:8080/;
        }
        location /test {
            alias e:/nginx;
            index index.html;
       }
    }
}

2023年7月补充内容

在Windows上使用Nginx从根本上讲是不推荐的。如果确实有必要,强烈建议使用WSL2。

胜利者!

广告
将在 10 秒后关闭
bannerAds