At my place of work, our rstudio connect server and rstudio server cluster are offline. To deal with that, our current setup is an internal CRAN mirror on an apache web server, with also some Cranlike repo for non cran package on others endpoints. (github, bioc and internal non published packages). This works well with rstudio connect publishing, but not so easy to maintain (lots of scripts)
we don't have Artifactory but Nexus and I am currently testing it to replace the setup using the community R plug-in. This should ease the maintenance and publication mechanism. It works fine for now and should provide one repo url for every type of package.
Also, RStudio will launch soon a new commercial product: a package manager. This will be a concrete solution to all this. Beta phase should begin very soon I think. It will act like Artifactory or Nexus but dedicated to R packages repositories and their specificities. Should be of interest to you.