Upgrading jfrog artifactory from 6.23.42 to artifactory 7.68.11 url changed

55 views Asked by At

Earlier till 6 artifactory version we had a option to configure https port on server.xml , now from version 7 it is changed , here around 10 application teams are using a format https//artifactory.com:8543/artifactory in there code and during deployment In artifactory version 7 it is pointing to http//artifactory.com:8082/ui

Later after some research I used apache to route http to https , reverse proxy to https//artifactory.com but here I am unable to change to run as old url

my system.yaml file

shared:
    extraJavaOpts: -Xmx4g -Xss256k
    database:
        type: derby
        driver: org.apache.derby.jdbc.EmbeddedDriver
        url: jdbc:derby:/opt/app/artifactory-oss-7.68.11/var/data/artifactory/derby;create=true
artifactory:
    port: 8081
    tomcat:
        connector:
            maxThreads: 200
            sendReasonPhrase: true
            relaxedPathChars: '"[]"'
            relaxedQueryChars: '"[]"'
        httpsConnector:
            enabled: true
            port: 8543
            certificateFile: "/opt/app/artifactory-oss-7.68.11/var/etc/artifactory/security/ssl/server.crt"
            certificateKeyFile: "/opt/app/artifactory-oss-7.68.11/var/etc/artifactory/security/ssl/server.key"
            extraConfig: 'SSLProtocol="TLSv1.2"'
access:
    http:
        port: 8040
    tomcat:
        connector:
            maxThreads: 50
            sendReasonPhrase: true

apache configuration to run on https

Listen 443 https

    <VirtualHost _default_:443>
    
    # General setup for the virtual host, inherited from global configuration
    #DocumentRoot "/var/www/html"
    #ServerName www.example.com:443
    ServerName artifactory
    # Use separate log files for the SSL virtual host; note that LogLevel
    # is not inherited from httpd.conf.
    ErrorLog logs/ssl_error_log
    TransferLog logs/ssl_access_log
    LogLevel warn
    
    #   SSL Engine Switch:
    #   Enable/Disable SSL for this virtual host.
    SSLEngine on
    
    #   SSL Protocol support:
    # List the enable protocol levels with which clients will be able to
    # connect.  Disable SSLv2 access by default:
    SSLProtocol all -SSLv2 -SSLv3
    BrowserMatch "MSIE [2-5]" \
             nokeepalive ssl-unclean-shutdown \
             downgrade-1.0 force-response-1.0
    
    #   Per-Server Logging:
    #   The home of a custom SSL log file. Use this when you want a
    #   compact non-error SSL logfile on a virtual host basis.
    CustomLog logs/ssl_request_log \
              "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    ProxyRequests off
    SSLProxyEngine on
    ProxyPreserveHost on
    SSLProxyCheckPeerCN off
    SSLProxyCheckPeerExpire off
    SSLProxyCheckPeerName off
    SSLProxyVerify none
    SSLVerifyClient none
    ProxyPass /ui/ http://artifactory.com:8082/ui/
    ProxyPassReverse /ui/ http://artifactory.com/ui
    </VirtualHost>

I also configured server.xml like the old one (artifactory 6 in artifactory 7)

It works on https like https://artifactory.com/ui

I want to configure as old url https//artifactory.com:8543/artifactory were as the applications team, monitoring team will not have any issue

1

There are 1 answers

0
David Livshin On

To change the port that your reverse proxy is listening on, you just need to change the configuration there.

You currently have apache configuration to run on https

Listen 443 https

Switch this line to

Listen 8543 https 

and you will have artifactory accessible on https://artifactory.com:8543

Regarding the /artifactory endpoint, as you have noted, this was switched between 6.x and 7.x due to the change to a micro service architecture.

Now, when reaching the UI you go to https://artifactory.com:8543/ui When trying to download Artifacts you still go to https://artifactory.com:8543/artifactory

This is baked in and can not be changed.