아파치에서 프록시 호출을 역방향으로 하는 방법

아파치에서 프록시 호출을 역방향으로 하는 방법

Apache의 역방향 프록시 설정은 다음과 같습니다.

주소가 있는 서버 A www.proxyserver.com/graphql는 역방향 프록시 서버입니다. (마젠토-php)

매핑 대상: 주소가 있는 서버 B example.com(reactjs)

이 유형은 npm run start디버그 모드( )에서 실행할 때 제대로 작동합니다.

예: 서버가 요청을 호출하면 /graphql?query1=query1&query2=query2다음으로 리디렉션됩니다.https://proxyserver.com/graphql?query1=query1&query2=query2

하지만 아파치에서는 작동하지 않습니다. 그것은 전화한다http://example.com/graphql?query1=query1&query2=query2

어떻게 해결할 수 있나요?

내 역방향 프록시는 서버 B에서 다음과 같이 구성됩니다.www.example.com):

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/example.com/build
    ServerName example.com
    ServerAlias www.example.com
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    ProxyPreserveHost On
    ProxyPass "/graphql" "https://proxyserver.com/graphql"
    ProxyPassReverse "/graphql" "https://proxyserver.com/graphql"
</VirtualHost>

서버 A의 구성은 다음과 같습니다.

<IfModule mod_ssl.c>
    <VirtualHost *:443>
        ServerAdmin [email protected]
        DocumentRoot /etc/pub
        ServerName proxyserver.com
        ErrorLog logs/cezanno-error_log
        LimitRequestBody 104857600
        <Proxy "unix:/var/opt/remi/php73/run/php-fpm/php73-fpm.sock|fcgi://proxyserver.com">
            ProxySet timeout=100
        </Proxy>
        <FilesMatch \.(php|phar)$>
            SetHandler "proxy:fcgi://proxyserver.com"
        </FilesMatch>

        SSLCertificateFile /path/to/cert/directory/cert.pem
        SSLCertificateKeyFile /path/to/cert/directory/privkey.pem
        Include /etc/letsencrypt/options-ssl-apache.conf
        SSLCertificateChainFile /path/to/cert/directory/chain.pem
    </VirtualHost>
</IfModule>

관련 정보