标签: reverse-proxy

怎么知道nginx是否正在压缩gzip?

这是nginx的de配置文件

gzip on;
    gzip_disable "msie6";
        # gzip_static on;
    gzip_min_length 1400; 
        gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 9;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;
    gzip_types text/plain text/css image/png image/gif image/jpg application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript applicacion/x-font-ttf font/opentype application/x;
Run Code Online (Sandbox Code Playgroud)

在谷歌分析器中出现js文件没有压缩,所以我添加到nodejs gzippo模块,这是回购

 //app.use(express.static(path.join(__dirname, 'public')));
  app.use(gzippo.staticGzip(path.join(__dirname, 'public')));
Run Code Online (Sandbox Code Playgroud)

当我添加模块谷歌说,js是gzipped,但在repo不说我怎么能添加CSS文件和图像文件到gzippo模块压缩

所以我怎么知道用nginx或nodejs gzippo模块压缩文件,我怎么能压缩otf文件?

javascript proxy reverse-proxy nginx node.js

0
推荐指数
1
解决办法
3907
查看次数

IIS反向代理到不同的服务器

我试图找出是否可以在IIS中执行反向代理,实际上是在不同的Web服务器端点.我用它在同一台机器上遍历端口,但从不使用其他机器.这样做的目的是我正在编写一个需要连接到不同服务器上的数据的Javascript应用程序,并且我收到Same Origin错误.

注意:不幸的是,更改远程服务器和服务以接受JSONP或CORS不是一种选择.

以下是使用IIS反向代理进行端口跳转的配置

<system.webServer>      
        <rewrite>
            <rules>
                <rule name="Reverse Proxy to Different Port" stopProcessing="true">
                    <match url="^name/(.*)" />
                    <action type="Rewrite" url="http://localhost:5984/{R:1}" />
                </rule>
            </rules>
        </rewrite>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

javascript iis reverse-proxy web-config windows-server

0
推荐指数
1
解决办法
3905
查看次数

Nginx 反向代理到主机中的应用程序

我有一个在 Docker 5000 端口上运行的应用程序。我试图通过 Docker compose 在 nginx 中运行反向代理,但无法与主机的端口 5000 通信。在我的 docker-compose.yml 文件中,我有:

ports:
  - 80:80
  - 443:443
  - 5000:5000
Run Code Online (Sandbox Code Playgroud)

当我尝试运行它时,我得到:

ERROR: for nginx  Cannot start service nginx: driver failed programming external connectivity on endpoint nginx (374026a0d34c8b6b789dcd82d6aee6c4684b3201258cfbd3fb18623c4101): Error starting userland proxy: listen tcp 0.0.0.0:5000: bind: address already in use
Run Code Online (Sandbox Code Playgroud)

如果我注释掉,- 5000:5000我会得到:

[error] 6#6: *1 connect() failed (111: Connection refused) while connecting to upstream
Run Code Online (Sandbox Code Playgroud)

如何从 Docker nginx 容器连接到主机中已经运行的应用程序?

编辑:

我的 nginx.conf 文件

user www-data;
worker_processes auto;
pid /run/nginx.pid;

events …
Run Code Online (Sandbox Code Playgroud)

webserver reverse-proxy nginx go docker

0
推荐指数
2
解决办法
3978
查看次数

如何对AWS私有子网EC2实例进行负载平衡

如果我创建 ELB 并尝试附加私有子网实例,我的运行状况检查会失败:OutOfService。

问题 1:我可以获得内部/私有 IP(不是 IP,而是 dns 名称)用于负载平衡。即无法访问互联网?

问题 2:如果我的应用程序负载均衡器有一个公共 dnsname。如何附加私有子网中没有弹性 IP 的 EC2 实例(无法访问 Internet)。我正在寻找最好的方法。我们是否应该——

ELB --> 公有子网 EC2 实例(代理配置- */* [private_ip]:[port]/* ) ---> 来自私有子网/EC2 实例的服务,并在此处进行运行状况检查。

reverse-proxy amazon-ec2 amazon-web-services amazon-elb

0
推荐指数
1
解决办法
5007
查看次数

IIS根据子域将请求路由到不同端口

我有一个域名,我们称之为domain.com

在我的 DNS 提供商上,我配置了两个子域以指向同一 IP 地址。例如:
sub1.domain.com=> 185.146.11.17
sub2.domain.com=>185.146.11.17

我在 IIS 中配置了两个站点,分别侦听端口 8080 和 8081。

现在,由于流量直接通过185.146.11.17:80,我需要根据请求的子域将其路由到端口8080或端口。8081

我已经阅读了有关重写规则和反向代理的内容,但对于如何根据请求的子域简单地实现我所需要的内容感到完全困惑。

如何解决这个问题呢?

iis reverse-proxy url-rewrite-module

0
推荐指数
1
解决办法
4051
查看次数

您的反向代理设置似乎已损坏 - Jenkins IIS

我似乎无法使用 IIS 为我的 Jenkins 正确设置反向代理。

一切正常,但我无法让该消息消失!运行“administrativeMonitor/hudson.diagnosis.ReverseProxySetupMonitor/testForReverseProxySetup”不会返回 200.. 但实际上返回 404。

我还使用插件 Blue Ocean,我注意到当通过反向代理访问 Jenkins 时运行管道时,我看不到实时更新!我对此进行了深入研究,发现它通常是由于错误的 Revery 代理设置造成的。如果我通过本地主机访问 jenkins,我可以看到 Blue Ocean Pipeline 实时更新,所以一定是设置错误!

我得到了什么

  1. Windows Server 2019 数据中心
  2. IIS 10

我有 HTTPS 设置,所以我的目标是:转到 jenkins.example.com,它将重定向到https://jenkins.example.com,这又是加载 jenkins 的反向代理。

我的网络配置:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules useOriginalURLEncoding="false">
                <!-- Enforces redirection of all HTTP traffic to HTTPS -->
                <rule name="Enforce HTTPS" stopProcessing="true">
                    <match url="(.*)" />
                        <conditions>
                            <add input="{HTTPS}" pattern="off" />
                        </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
                </rule>
                <rule name="ReverseProxyToLocalJenkinsRule" stopProcessing="true">
                    <match url="(.*)" …
Run Code Online (Sandbox Code Playgroud)

iis reverse-proxy jenkins

0
推荐指数
1
解决办法
2071
查看次数

Cloudfare 后面的页面禁止 OWASP ModSecurity Docker 映像访问

我在反向代理模式下使用最新的 docker 映像,
我不断收到相同的消息 403 禁止,我认为原因是 ModSecurity 映像尝试使用其 ip 直接访问该站点,而不使用主机标头
我该如何解决?

reverse-proxy nginx mod-security http-status-code-403

0
推荐指数
1
解决办法
456
查看次数

ALB 后面的 Fast API 中的根路径

我正在 AWS ALB 后面部署一个快速 API 应用程序,侦听器规则路径模式/api/v1/指向快速 API。我的应用程序看起来像这样

from typing import Union
import os
import mysql.connector
from fastapi import FastAPI

app = FastAPI()


@app.get("/")
def read_root():
    print("Root path hit")
    return {"App": "Fargate"}


@app.get("/api/v1/")
def read_apiv1():
    print("Root path hit")
    return {"App": "Path Fargate API v1"}

Run Code Online (Sandbox Code Playgroud)

我使用 docker 在 ECS 中部署了应用程序,我的 docker run 命令是

CMD ["uvicorn", "app.main:app", "--proxy-headers", "--host", "0.0.0.0", "--port", "80", "--root-path", "/api/v1"]
Run Code Online (Sandbox Code Playgroud)

现在,当我点击后缀为 的 AWS ALB dns 时,我会看到抛出响应的/api/v1/端点。但是,根据快速 API 的文档,它应该使用./api/v1{"App": "Path Fargate API …

python reverse-proxy aws-application-load-balancer fastapi

0
推荐指数
1
解决办法
3017
查看次数

Nginx反向代理无法访问prometheus容器

我创建了这个 docker compose 文件,该文件构建+运行没有错误

version: '3.7'

volumes:
  grafana:
    driver: local
  prometheus-data:
    driver: local

services:
  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    expose:
      - 9090
    volumes:
      - prometheus-data:/prometheus
      - ./prometheus:/etc/prometheus
    restart: unless-stopped
    command:
      - "--config.file=/etc/prometheus/prometheus.yml"
  
  grafana:
    image: grafana/grafana-oss:latest
    container_name: grafana
    expose:
      - 3000
    volumes:
      - grafana:/etc/grafana
    restart: unless-stopped
  
  nginx:
    image: nginx
    container_name: webserver
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /opt/certs/:/etc/nginx/certs/
      - ./nginx/gw-web/:/usr/share/nginx/html:ro
      - ./nginx/nginx_proxy.conf:/etc/nginx/conf.d/default.conf
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf
    command: [nginx-debug, '-g', 'daemon off;']

Run Code Online (Sandbox Code Playgroud)

nginx 具有以下反向代理配置:

server {
    listen 80;
    listen [::]:80;
    server_name …
Run Code Online (Sandbox Code Playgroud)

reverse-proxy nginx docker grafana prometheus

0
推荐指数
1
解决办法
1040
查看次数

为了将我的域名切换到HTTPS,我是否需要更改Apache或我的Node.js应用程序?

我有一个在我的域上运行的Web应用程序.首先我有常规HTTP站点,它在我的服务器上的端口8082上运行,而Apache服务器(使用虚拟主机)将请求从端口80重定向到localhost:8082.

现在我获得了一个SSL证书,我试图在我的网站上安装.我在Node中创建了一个HTTPS服务器,并且https://localhost:8082一切正常.

但后来我尝试通过HTTPS提供我的域名.我尝试编辑我的虚拟主机文件以使用证书,但我认为我没有正确编写它.此外,我试图让它将HTTP重定向到HTTPS,但它没有用.

我该怎么办?我应该在Node中运行HTTP或HTTPS服务器,我应该在Apache虚拟主机配置中添加什么?

这是我的虚拟主机文件:

<VirtualHost *:80>
        ServerName www.domain.com
        Redirect permanent / https://www.domain.com
</VirtualHost>

<VirtualHost *:443>

        ServerName domain.com
        ServerAlias www.domain.com

        SSLEngine On
        SSLProxyEngine On
        SSLCertificateFile "/home/USERNAME/Projects/NODEAPP/chained.pem"
        SSLCertificateKeyFile "/home/USERNAME/Projects/NODEAPP/domain.key"

        ProxyPreserveHost On
        ProxyRequests off

        <Proxy *>
                Order deny,allow
                Allow from all
        </Proxy>

        <Location />
                ProxyPass http://localhost:8082/

                ProxyPassReverse http://localhost:8082/
        </Location>

</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

apache ssl reverse-proxy node.js

-1
推荐指数
1
解决办法
203
查看次数