Windows server使用Nginx反向代理获取404
我有一个windows服务器,用于托管一个公文包网站和一些应用程序,该网站使用nginx在端口80和443上运行 我正试图让nginx反向代理我的一些应用程序,以帮助它们更加安全 按照所有指南,我的网站仍在运行,但应用程序仍然只能通过其指定的端口访问 SSL nginx当前看起来像:Windows server使用Nginx反向代理获取404,nginx,nginx-reverse-proxy,Nginx,Nginx Reverse Proxy,我有一个windows服务器,用于托管一个公文包网站和一些应用程序,该网站使用nginx在端口80和443上运行 我正试图让nginx反向代理我的一些应用程序,以帮助它们更加安全 按照所有指南,我的网站仍在运行,但应用程序仍然只能通过其指定的端口访问 SSL nginx当前看起来像: server { listen 192.168.0.2:443; server_name example.com 192.168.0.2; ssl_certificate
server {
listen 192.168.0.2:443;
server_name example.com 192.168.0.2;
ssl_certificate cert.pem;
ssl_certificate_key key.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.php index.html index.htm;
}
location /app1/ {
proxy_set_header Host 192.168.0.2:3882/;
proxy_pass http://192.168.0.2:3882/app1;
}
location /app2 {
proxy_pass http://127.0.0.1:3883;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
我尝试了两种不同的方法来尝试和查看应用程序,但两种方法都会产生404 not found,错误日志显示以下错误:
2019/09/10 22:21:08 [error] 11940#15356: *1 CreateFile() "C:\Users\Alex\Services\nginx-1.17.3/html/app1" failed (2: The system cannot find the file specified), client: 192.168.0.2, server: example.com, request: "GET /app1 HTTP/1.1", host: "192.168.0.2"
从这个错误中,我可以推断出nginx正在查看网站文件夹,而不是服务器中的应用程序,因为我没有看到对端口的引用
我假设错误就在附近的某个地方:
位置/app2{
代理通行证http://127.0.0.1:3883;
位置可能需要更多信息的地方错误指定URI为
/app1
,它与位置
块匹配。错误出现在服务器上但不在webiste位置的/app1和/app2上,因此从错误中我认为它试图查找的是网站文件夹,而不是服务器呃本身,我想一旦我通过类似location ^ ~/app1的方式退出,它会起作用,但这并不能修复错误,因为它仍然在网站文件夹中查找错误指定URI为/app1
,它与location/
块匹配。服务器上的/app1和/app2都存在错误,但是不在webiste的位置,因此从错误中我认为它试图在网站文件夹中查找,而不是服务器本身。我认为,一旦我通过类似location^~/app1的方式离开,它就会工作,但这无法修复错误,因为它仍在网站文件夹中查找