I have Apache conf:

<IfModule mod_ssl.c>
<VirtualHost *:443>

    ServerName project.example.com
    ServerAlias ci
    ProxyRequests Off

    <Proxy *>
        Order deny,allow
        Allow from all

    ProxyPreserveHost on
    ProxyPass / http://localhost:1111/project

    SSLCertificateFile /etc/letsencrypt/live/sub.example.com/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/sub.example.com/privkey.pem
    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateChainFile /etc/letsencrypt/live/sub.example.com/chain.pem


When I enter project.example.com, I get https://project.example.com/project/users/sign_in in a browser. How to remove context path from URL? I want to remove project from URL and get https://project.example.com/users/sign_in ?


I think you're missing the trailing slash:

ProxyPass / http://localhost:1111/project/

It's also a good idea to define a corresponding ProxyPassReverse:

ProxyPassReverse / http://localhost:1111/project/
| improve this answer | |
  • Thanks but it didn't work. – Justas Feb 2 '18 at 21:05

So first would be removing the context root from the application. Unless you define the context as / (blank) you cannot access the application without the context root.

This Solution should give you an idea of how to change the context root. Once you are done with the steps you should be able to access your application at http://localhost:1111/.

Then coming to the httpd configuration remove the project name :

ProxyPass / http://localhost:1111/

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.