我在本地开发机器上运行 NGINX 服务器,因为我想使用通过代理通道访问开发域的 NodeJS 应用程序。
http://localhost:4040 -> http://www.domain.dev
http://localhost:4041 -> http://api.domain.dev
我的问题是,当我尝试转到时,www.domain.dev
浏览器重定向到https://www.domain.dev
。
我ssl off
在和server
上下文中都添加了该指令http
,但它仍然强制我使用 SSL。我不想在开发的早期就安装或处理 SSL。
我一直使用 Apache 来做这件事,但我想尝试使用 NGINX 的负载平衡功能。
我的 NGINX 配置(省略注释行)
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
server {
listen 80;
listen [::]:80;
server_name domain.dev www.domain.dev;
ssl off;
location / {
proxy_pass http://127.0.0.1:4040;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
}
}
server {
listen 80;
listen [::]:80;
server_name api.domain.dev;
ssl off;
location / {
proxy_pass http://127.0.0.1:4041;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
}
}
}
谢谢!
答案1
问题是 Chrome 和 FF 都保留.dev
域.foo
以自动重定向到 HTTPS。
将您的 TLD 更改为除这两个之外的其他名称。