Apache는 특정 URL 또는 하위 도메인을 내부 IP로 리디렉션합니다.

Apache는 특정 URL 또는 하위 도메인을 내부 IP로 리디렉션합니다.

내 홈 네트워크의 웹 서버 옆에 gitlab 서버가 실행되고 있습니다. 내 웹 서버에서 일부 도메인으로 Apache2를 실행합니다. example.com도 그 중 하나입니다. 이제 내 목표는 사용자가 example.com/gitlab 또는 gitlab.example.com을 방문할 때 gitlab 로그인 페이지를 받는 것입니다. 실제로 리디렉션이 특정 URL이나 하위 도메인에서 발생하는지 상관하지 않습니다. 나는 많은 것을 시도했지만 그 중 어느 것도 나에게 도움이 되지 않았습니다(아마도 내가 계속 잘못하고 있었을 수도 있습니다).

나는 또한 다음과 같은 관련 포럼 게시물을 읽었습니다.

하지만 저는 현재 실행 중인 것이 하나도 없습니다.

내 거기본 프로필항상 포트 80을 포트 443(HTTPS)으로 리디렉션하도록 구성합니다.

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com

    Redirect permanent / https://www.example.com/
    [...]
</VirtualHost>

그래서 이건 내꺼야example.com.conf앞으로:

<VirtualHost *:443>
    ServerName example.com
    ServerAlias www.example.com

    DocumentRoot /var/www/html/example.com

    SSLEngine on

    <FilesMatch "\.(cgi|shtml|phtml|php)$">
            SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory /usr/lib/cgi-bin>
            SSLOptions +StdEnvVars
    </Directory>

    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /etc/letsencrypt/live/www.example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem
</VirtualHost>

먼저 리디렉션을 시도합니다.URL에서. 나는 다음을 추가했다:

ProxyRequests Off
ProxyPass /gitlab http://192.168.0.115:80/
ProxyPassReverse /gitlab http://192.168.0.115:80/

이것은 정확히 작동하지 않지만 URL을 입력하면"404 요청한 URL /users/sign_in을 이 서버에서 찾을 수 없습니다.". '/users/sign_in'은 내 gitlab 서버의 로그인 페이지 경로이므로 적어도 뭔가 작동하는 것 같습니다. 저에게 이상한 점은 루트를 내부 IP로 리디렉션하면 작동한다는 것입니다.

ProxyRequests Off
ProxyPass / http://192.168.0.113:80/
ProxyPassReverse / http://192.168.0.113:80/

작동하지만 이제 더 이상 실제 웹사이트에 액세스할 수 없습니다.

그런 다음 리디렉션을 시도합니다.하위 도메인에서. 나는 다음을 추가했다:

<VirtualHost *:443>
    ServerName gitlab.example.com

    ProxyPass / http://192.168.0.113/
    ProxyPassReverse / http://192.168.0.113/
</VirtualHost>

하지만 난 받는다"사이트에 접속할 수 없습니다". 저는 하위 도메인도 운영하지 않습니다.

답변1

/gitlab 비트를 제거하려면 mod_rewrite를 사용해야 할 수도 있습니다. 그것은 다음과 같습니다:

rewriteBase "/gitlab"
rewriteRule "^gitlab/(.*)" "http:/192.168.0.113/$1" [P]

바라보다https://httpd.apache.org/docs/2.4/rewrite/proxy.html

관련 정보