使用 NGINX 作为应用程序服务器的反向代理,可从一个 ip 地址但两个不同的端口访问
Using NGINX as reverse proxy for appliaction servers accessible from one ip address but two different ports
我正在尝试使用 nginx 作为我的 Odoo 部署的反向代理。确实我有两个实例可以分别在8069和8090端口访问,如果我只有IP地址(我不想使用域名),是否可以为这两个实例配置nginx?
我试过这样的方法:
server{
listen 80 default_server;
server_name my_ip_address/instance1;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://localhost:8090;
}
}
server{
listen 80;
server_name my_ip_address/instance2;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://localhost:8099;
}
}
我也试过了
server{
listen 80 default_server;
server_name my_ip_address;
location /instance1 {
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://localhost:8090;
}
}
server{
listen 80;
server_name my_ip_address;
location /instance2 {
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://localhost:8099;
}
}
但是当我尝试访问 my_ip_address/instance1 或 my_ip_address/instance2 时,两者都不起作用
我认为这是不可能的,因为您还必须重写 assets
和 form
操作的路径。
assets
包括所有 javascript 和 CSS 文件以及图像。
form
操作是应该重定向表单数据的地方。
例如,当您 login
到系统时,登录表单将数据发送到 /web/login
操作。
你打算怎么处理这个?以及您的虚拟主机在哪个虚拟主机中?!
另一方面,尝试使用子域。
或者,如果您必须使用 IP,则使用 2 个指向同一服务器的 IP,并将用作主机的每个 IP 重定向到您的一个实例。
我正在尝试使用 nginx 作为我的 Odoo 部署的反向代理。确实我有两个实例可以分别在8069和8090端口访问,如果我只有IP地址(我不想使用域名),是否可以为这两个实例配置nginx?
我试过这样的方法:
server{
listen 80 default_server;
server_name my_ip_address/instance1;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://localhost:8090;
}
}
server{
listen 80;
server_name my_ip_address/instance2;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://localhost:8099;
}
}
我也试过了
server{
listen 80 default_server;
server_name my_ip_address;
location /instance1 {
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://localhost:8090;
}
}
server{
listen 80;
server_name my_ip_address;
location /instance2 {
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://localhost:8099;
}
}
但是当我尝试访问 my_ip_address/instance1 或 my_ip_address/instance2 时,两者都不起作用
我认为这是不可能的,因为您还必须重写 assets
和 form
操作的路径。
assets
包括所有 javascript 和 CSS 文件以及图像。
form
操作是应该重定向表单数据的地方。
例如,当您 login
到系统时,登录表单将数据发送到 /web/login
操作。
你打算怎么处理这个?以及您的虚拟主机在哪个虚拟主机中?!
另一方面,尝试使用子域。 或者,如果您必须使用 IP,则使用 2 个指向同一服务器的 IP,并将用作主机的每个 IP 重定向到您的一个实例。