我的这个Apache具有代理服务器通行证配置:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName domain.name.com
DocumentRoot /var/www/html/
alias / /var/www/html/wp/
SSLEngine on
SSLProxyEngine On
LogLevel warn
# DO NOT enable proxy with proxy request until server is secured
ProxyRequests Off
<Proxy *>
Require all granted
</Proxy>
<Location "/app/">
AddDefaultCharset utf-8
ProxyPassReverse http://127.0.0.1:8888/
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
</Location>
<Directory "/var/www/html">
Options FollowSymLinks
AllowOverride none
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLCertificateFile /path/fullchain.pem
SSLCertificateKeyFile /path/privkey.pem
Include /etc/cert/options-ssl-apache.conf
</VirtualHost>
</IfModule>
我的/ var / www / html / wp中的wp文件正确显示在htts://domain.name.com中
在我的proxypass中有一个节点express(后端)和angularjs(前端)。节点express包含端点
...
router.post('/login', users.Token);
router.post('/logout',users.logout);
router.get('/provinces', aux.getProvinces);
...
之后,我使用:
app.use("/api", api);
将 api 添加到我在nodejs中的所有路由。还必须在我的本地计算机上说,无需apache,即可表达api 工作正常。
在我的https://domain.name.com/app中显示了我的angualarjs主页 但所有表达api的路由都会返回403错误。
如果我在nodejs api中对此进行更改:
app.use("/app", api);
我得到503服务不可用
如果我改变其中一个
...
<Location "/">
AddDefaultCharset utf-8
...
<Location "/api">
AddDefaultCharset utf-8
...
我收到403禁止错误
我也尝试在apache中添加以下波纹管代理位置:
<Location "/app/">
AddDefaultCharset utf-8
ProxyPassReverse http://127.0.0.1:8888/
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
</Location>
alias /api/ /app/
在我的angularjs前端返回禁止的403,而在后端nodejs却返回404的
问题:
在为我的nodejs api后端提供服务时我做错了什么?