如何让后台api处理https证书?
How to let the backend api handle https certificate?
我是 nginx 的新手。
我的路由器后面有一台机器,它运行服务器并使用 Https 正确处理 80 和 443 请求。
问题是我想在另一台设备上托管第二个网站,但我只有一个 IP 地址。我买了一个 raspberry pi 零来用作我路由器后面的反向代理。我安装了 nginx 并想将所有请求重定向到我的其他机器。 RPI 0和旧机器都有本地IP。
为了将请求从我的路由器重定向到 RPI 0,然后再到我的旧机器,我使用了 proxy_pass。在端口 80 上一切正常,但在端口 443 上我的浏览器出现证书错误。
可不可以把整个请求都放在老机器上,让老机器像以前一样处理https证书?还是必须由 nginx 处理证书?
旧的但功能正常的安装图
当前安装证书错误
我的配置:
upstream backend_a {
server 192.168.0.20:80;
}
upstream backend_a_s {
server 192.168.0.20:443;
}
server {
listen 80;
server_name mydomain;
location / {
include proxy_params;
proxy_pass http://backend_a;
}
}
server {
listen 443 ssl;
server_name mydomain;
location / {
include proxy_params;
proxy_pass https://backend_a_s;
}
}
我找到了解决办法。我需要使用端口转发。要在 nginx 中执行此操作,我需要使用 stream
关键字。
stream {
server {
listen 443;
proxy_pass 192.168.0.20:443;
}
}
stream
关键字需要与 http
处于同一级别,所以我需要编辑 /etc/nginx/nginx.conf source. Other solution is to manually compile a version of nginx, with the parameter --with-stream
source.
我是 nginx 的新手。
我的路由器后面有一台机器,它运行服务器并使用 Https 正确处理 80 和 443 请求。
问题是我想在另一台设备上托管第二个网站,但我只有一个 IP 地址。我买了一个 raspberry pi 零来用作我路由器后面的反向代理。我安装了 nginx 并想将所有请求重定向到我的其他机器。 RPI 0和旧机器都有本地IP。
为了将请求从我的路由器重定向到 RPI 0,然后再到我的旧机器,我使用了 proxy_pass。在端口 80 上一切正常,但在端口 443 上我的浏览器出现证书错误。
可不可以把整个请求都放在老机器上,让老机器像以前一样处理https证书?还是必须由 nginx 处理证书?
旧的但功能正常的安装图
当前安装证书错误
我的配置:
upstream backend_a {
server 192.168.0.20:80;
}
upstream backend_a_s {
server 192.168.0.20:443;
}
server {
listen 80;
server_name mydomain;
location / {
include proxy_params;
proxy_pass http://backend_a;
}
}
server {
listen 443 ssl;
server_name mydomain;
location / {
include proxy_params;
proxy_pass https://backend_a_s;
}
}
我找到了解决办法。我需要使用端口转发。要在 nginx 中执行此操作,我需要使用 stream
关键字。
stream {
server {
listen 443;
proxy_pass 192.168.0.20:443;
}
}
stream
关键字需要与 http
处于同一级别,所以我需要编辑 /etc/nginx/nginx.conf source. Other solution is to manually compile a version of nginx, with the parameter --with-stream
source.