Nginx 行为异常
Nginx behaving in a strange way
我很难让 nginx 在我的 Ubuntu 18.04 服务器上工作。
以下是我目前的配置,其他没有启用。 include/example.ssl.conf
包含配置 SSL 的一些常用设置。
server {
listen 80;
listen [::]:80;
server_name test.example.com;
root /var/www/html;
index index.html index.nginx-debian.html;
location / {
try_files $uri $uri/ =404;
}
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name code.example.com;
include include/example.ssl.conf;
location / {
proxy_pass http://localhost:8443;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
}
}
出于某种原因,当我点击 http://test.example.com
时,我没有收到任何响应,浏览器在一段时间后超时。如果我点击 https://code.example.com
它会工作,我会被重定向到我的 code-server
的登录页面。奇怪的是,任何 https
子域都被代理到我的 code-server
端口 8443,我不明白为什么会这样。干杯!
您服务器的 80 端口似乎无法访问。由于代码服务器在端口 443 (https) 侦听,它总是会回复 任何 通过 https 发出的请求(前提是您的 DNS 将所有域重定向到您的服务器,这意味着您的域有一些通配符记录,例如 *.example.com
配置),这解释了您的 "strange" 行为。
您应该检查您的防火墙配置以确保您可以从端口 80(默认的 HTTP 端口)访问您的服务器。这应该使服务器从该端口工作并重定向到您的静态内容,静态内容也应该在那里(在 /var/www/html
处放置一个 index.html)。
其余的,目前我还没有看到任何其他问题,所以它必须是端口 80 无法访问或缺少内容。
我很难让 nginx 在我的 Ubuntu 18.04 服务器上工作。
以下是我目前的配置,其他没有启用。 include/example.ssl.conf
包含配置 SSL 的一些常用设置。
server {
listen 80;
listen [::]:80;
server_name test.example.com;
root /var/www/html;
index index.html index.nginx-debian.html;
location / {
try_files $uri $uri/ =404;
}
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name code.example.com;
include include/example.ssl.conf;
location / {
proxy_pass http://localhost:8443;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
}
}
出于某种原因,当我点击 http://test.example.com
时,我没有收到任何响应,浏览器在一段时间后超时。如果我点击 https://code.example.com
它会工作,我会被重定向到我的 code-server
的登录页面。奇怪的是,任何 https
子域都被代理到我的 code-server
端口 8443,我不明白为什么会这样。干杯!
您服务器的 80 端口似乎无法访问。由于代码服务器在端口 443 (https) 侦听,它总是会回复 任何 通过 https 发出的请求(前提是您的 DNS 将所有域重定向到您的服务器,这意味着您的域有一些通配符记录,例如 *.example.com
配置),这解释了您的 "strange" 行为。
您应该检查您的防火墙配置以确保您可以从端口 80(默认的 HTTP 端口)访问您的服务器。这应该使服务器从该端口工作并重定向到您的静态内容,静态内容也应该在那里(在 /var/www/html
处放置一个 index.html)。
其余的,目前我还没有看到任何其他问题,所以它必须是端口 80 无法访问或缺少内容。