【发布时间】:2020-12-28 22:25:16
【问题描述】:
我一直在关注this article,尝试使用IIS 和Nginx 在同一台机器上托管多个网站。
根据提供的文章,我制作了以下nginx.conf:
http {
server {
listen 80;
server_name localhost;
keepalive_timeout 1;
gzip_types text/css text/plain text/xml application/xml application/javascript application/x-javascript text/javascript application/json text/x-json;
gzip_proxied no-store no-cache private expired auth;
gzip_disable "MSIE [1-6]\.";
# new website
location /bacon/ {
proxy_pass http://127.0.0.1:1500/;
proxy_http_version 1.1;
gzip_static on;
}
# old website
location / {
proxy_pass http://127.0.0.1:8881;
proxy_http_version 1.1;
gzip_static on;
}
}
}
我的old website 工作正常。
然而,当我尝试访问我的 new website 时,我收到以下错误:
请注意,如果通过http://127.0.0.1:1500/ 直接请求,我的new website 工作正常。
我在这里错过了什么?
【问题讨论】:
-
嘿@Rogerio Schmitt,您的新“站点”实际上只是本地主机的路径,而不是单独的“服务器名称”,例如
/bacon 因此,您的请求应该是localhost/bacon 但是查看您的控制台屏幕截图,它没有显示请求的详细信息,例如“网络”选项卡,这将有助于调试...基于控制台错误,我猜这是在使用快递。 *.js -
我建议添加以下内容来表达,看看这是否解决了控制台错误。
app.use(express.static(__dirname + '/')); -
@chrismillah 是的,正在向 localhost/bacon 发出请求。我没有使用
express,正如我的问题IIS正在使用中所述。 -
好的——你要代理什么? IIS 是否在该特定端口:1500 上为应用程序提供服务?另外,为什么后面有斜线?
-
IIS在两个端口(8881 和 1500)上为不同的网站提供服务。尾部斜杠用于获取对localhost/bacon 的请求并将其传递给127.0.0.1:1500 而不是127.0.0.1:1500/bacon。你可以在这里找到更多信息:serverfault.com/questions/379675/…
标签: nginx iis nginx-reverse-proxy flutter-web nginx-config