【发布时间】:2021-11-30 12:27:21
【问题描述】:
我正在尝试使用 axios、Vue 与我的 mongoDB 数据库链接,而我的服务器正在运行 NGINX。
在我的 App.vue 文件中,axios 请求所在的位置,我有这个:
export default {
name: 'App',
data(){
return {
baseApiURL: '[HTTP or HTTPS]://example.com:4000/api',
这适用于 HTTP。当我将其更改为 HTTPS 时,它不会。我尝试过使用 IP 地址和域地址。 Chrome 上的网络标签显示:
Request URL: https://www.example.com/api/
Request Method: GET
Status Code: 401 Unauthorized
我不明白这到底是什么意思。
我的 NGINX 配置:
server {
listen 80 default_server;
ssl on;
listen 443;
server_name example.com;
ssl_certificate /usr/src/app/ssl/domain.cert.pem;
ssl_certificate_key /usr/src/app/ssl/private.key.pem;
# vue app & front-end files
location / {
root /usr/src/app/dist;
try_files $uri /index.html;
}
# node api reverse proxy
location /api/ {
proxy_pass http://localhost:4000/;
}
}
我不确定我是否应该在此信息中包含任何其他内容,请告诉我。我觉得这应该是一个小问题,因为它是通过 HTTP 工作的。
【问题讨论】:
-
您的反向代理正在使用 HTTP,它可能试图以不正确的方式访问加密连接
-
@AlexW,你的意思是我应该在 proxy_pass 上使用 https 吗?我刚试过,但现在错误是 502 bad gateway
-
this link 有帮助吗?有一个带有 SSL 的反向代理示例。仅供参考,他们正在使用我认为已弃用的 TLSv1 和 TLSv1.1
-
@AlexW 不幸的是,它看起来不像,我尝试了各种不同的设置,但仍然出现错误。似乎我在帖子中的 401 错误配置是最接近正确的,不知何故
标签: mongodb api rest nginx axios