.htaccess在带有Apache Web服务器和Node.js应用程序的Ubuntu 16.04中不起作用
我正试图通过使用ApacheHTTP服务器和.htaccess为Nodejs/Express API服务器和web app服务器设置一个密码保护的登台环境 但是,下面的配置不起作用,我可以通过curl和浏览器(端口80)访问Nodejs服务器,无需任何限制或密码提示。 我的Nodejs应用程序位于.htaccess在带有Apache Web服务器和Node.js应用程序的Ubuntu 16.04中不起作用,node.js,apache,.htaccess,ubuntu-16.04,Node.js,Apache,.htaccess,Ubuntu 16.04,我正试图通过使用ApacheHTTP服务器和.htaccess为Nodejs/Express API服务器和web app服务器设置一个密码保护的登台环境 但是,下面的配置不起作用,我可以通过curl和浏览器(端口80)访问Nodejs服务器,无需任何限制或密码提示。 我的Nodejs应用程序位于/var/www/html/Nodejs/app.js,通过8080端口上的pm2运行 我已将.htaccess文件放在/var/www/html/.htaccess中,它包含以下内容: 重新编写引擎打
/var/www/html/Nodejs/app.js
,通过8080
端口上的pm2
运行
我已将.htaccess文件放在/var/www/html/.htaccess
中,它包含以下内容:
重新编写引擎打开
AuthUserFile/home/user/safedirectory/.htpasswd
AuthGroupFile/dev/null
AuthName“请输入密码”
AuthType Basic
需要有效用户
我的Apache配置位于/etc/apache2/sites available/000 default.conf
,包含以下内容:
服务器管理员webmaster@localhost
DocumentRoot/var/www/html
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
代理请求关闭
代理主机
ProxyVia Full
要求所有授权
ProxyPasshttp://127.0.0.1:8080/
ProxyPassReversehttp://127.0.0.1:8080/
选项索引跟随符号链接多视图
允许超越所有
命令允许,拒绝
通融
我已经运行了命令
sudo a2ensite 000-default.conf
及
sudo a2enmod重写
但是没有用
仅供参考,我使用了以下网站作为资源:
任何帮助都将不胜感激。谢谢。如果您可以访问Apache配置文件,请不要使用
.htaccess
。你可以找到解释
在您的情况下,.htaccess
甚至不被应用,因为请求永远不会到达文件夹,它们会立即被代理
试试这个:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyRequests Off
ProxyPreserveHost On
ProxyVia Full
<Location />
AuthUserFile /home/user/safedirectory/.htpasswd
AuthGroupFile /dev/null
AuthName "Please Enter Password"
AuthType Basic
Require valid-user
ProxyPass http://127.0.0.1:8080/
ProxyPassReverse http://127.0.0.1:8080/
</Location>
</VirtualHost>
服务器管理员webmaster@localhost
DocumentRoot/var/www/html
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
代理请求关闭
代理主机
ProxyVia Full
AuthUserFile/home/user/safedirectory/.htpasswd
AuthGroupFile/dev/null
AuthName“请输入密码”
AuthType Basic
需要有效用户
ProxyPasshttp://127.0.0.1:8080/
ProxyPassReversehttp://127.0.0.1:8080/