我有一个带有反向前端代理的网站,其中我的应用程序在端口3000上侦听。我有另一个应用程序位于3001上,该应用程序是为该网站提供内容的同一目录的一部分港口3000。
我想做什么。
任何前往mydomain.com:3001
的人都会被提示输入auth_basic
个凭据。任何前往mydomain.com
的人都可以正常通过。
我当前的nginx配置:
upstream app_example {
server 127.0.0.1:3000;
keepalive 64;
}
server {
root /var/www/example;
listen 0.0.0.0:80;
server_name example.com example;
access_log /var/log/nginx/app_example.log;
}
会是这样的吗?
upstream app_tools {
server 127.0.0.1:3001;
}
server {
listen 80;
server_name example.com example;
location / {
auth_basic "secured site tools";
auth_basic_user_file /var/www/example/.htpasswd;
proxy_pass http://app_tools;
}
}
答案 0 :(得分:0)
您需要为server
和mydomain.com:3001
mydomain.com
upstream app_tools {
server 127.0.0.1:3000;
keepalive 64;
}
server {
root /var/www/example;
listen 0.0.0.0:80;
server_name mydomain.com;
access_log /var/log/nginx/app_example.log;
location / {
proxy_pass http://app_tools;
}
}
server {
root /var/www/example;
listen 0.0.0.0:3001;
server_name mydomain.com;
access_log /var/log/nginx/app_example_secure.log;
location / {
auth_basic "secured site tools";
auth_basic_user_file /var/www/example/.htpasswd;
proxy_pass http://app_tools;
}
}
但要记住通过默默无闻的安全性 - 糟糕的主意。