node.js - Oracle Linux 服务器的 Nginx 配置返回/重定向到默认 oracle 页面
问题描述
Nginx 配置:
server
{
listen 80;
server_name ****;
listen [::]:80 default_server ipv6only=on;
}
server
{
listen 443;
server_name ****;
location /
{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://localhost:8080/;
proxy_ssl_session_reuse off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_redirect off;
}
}
server
{
listen 443;
server_name ****;
location /
{
#root /var/www/tite_staging/public/www/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://localhost:8080/;
proxy_ssl_session_reuse off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_redirect off;
}
}
删除“返回 302 https://$host$request_uri;” 来自 http 块,因为它会导致 ERR_TOO_MANY_REDIRECTS 错误
我可以知道这里有什么问题吗?谢谢你。使用节点服务器运行 javascript 应用程序
解决方案
server {
listen 80;
# catch all server names here
server_name _;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name tite.rdc.nie.edu.sg;
location / {
proxy_pass http://localhost:8080/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
server {
listen 443;
server_name staging.tite.rdc.nie.edu.sg;
location / {
proxy_pass http://localhost:8088/; # <--- SEE PORT HERE
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
假设:
- URL tite.rdc.nie.edu.sg在服务器 A 上运行应用程序分支 A
- URL staging.tite.rdc.nie.edu.sg在服务器 A 上运行应用程序分支 B
意味着您不能在同一端口后面的同一台服务器上运行两个不同的应用程序。在应用程序启动期间,您应该收到错误消息,例如:
Bind address already in use
如果 /etc/nginx/config 文件夹不包含其他(默认)*.conf 文件,还要检查它
推荐阅读
- swift - 在 iPad 上的 iOS“文件”应用程序下看不到我的应用程序文件夹,但只能在 iPhone 上看到
- javascript - 为什么我不能在 .map() 之外填充数组
- javascript - jquery 没有在 webpack 的 IIFE 中定义
- php - 检查图像的输入文件类型
- oracle-apex - 在初始页面加载时隐藏区域,单击按钮后显示
- r - 为绘图选择数据框中的列 - R Shiny
- visual-studio - 返回时dll挂钩未正确更新调用堆栈
- tensorflow - Keras Conv1D 和 VGG 的问题
- flutter - Flutter 如何处理异步/等待中的错误
- python - 在 Pandas 中将字符串拆分为每个字符的多列