BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
shirishkamath
Obsidian | Level 7

Hi All,

 

We have SAS Studio running on abcd.org.com so the SAS Studio URL we type in the browser is "http://abcd.org.com:7980/SASStudio" Now we recently configured a DNS Alias - "sasstudiodev.org.com", such that both abcd.org.com and sasstudiodev.org.com have the same ip address.

 

Now I am trying to work out a way to use "sasstudiodev.org.com" throughout a SAS Studio session such that when a user enters "sasstudiodev.org.com", it redirects to "abcd.org.com:7980/SASStudio", but the URL seen in the address bar remains "sasstudiodev.org.com/~/~" and the user does not know what the underlying mid-tier server really is. Is there a way to do it? I read about configuring reverse proxy, I tried doing it but it did not work for me. If there is a way to use my apache web server (and not SAS') then please let me know.

 

I am using SAS 9. 4M5 and Studio version 3.71. OS is Linux for x64

 

Thanks.

1 ACCEPTED SOLUTION

Accepted Solutions
JuanS_OCS
Amethyst | Level 16

Great topic, @shirishkamath.

 

You have got 2-3 options to achieve this.

 

1- The reverse proxy is a good idea, how ever, it is complex for people not used to apply it on a SAS server. For this, I highly recommend you a SAS consultant, expert in SAS deployments. Your SAS representative will be able to help you and pin point you to the right SAS team or an specialised SAS partner.

 

2- Another option, if you have a good Web administrator, is to implement a URL rewrite rule in the SAS Web Server.

https://httpd.apache.org/docs/2.0/misc/rewriteguide.html

https://httpd.apache.org/docs/2.4/rewrite/remapping.html

 

3- Probably your best option, (simplier, SAS-managed and not overkilling) would be to update your hostname selected in the SAS installation. You can achieve this with the SAS Deployment Manager and some grep tools. You can try to do this by yourself and, if it does not work either, an especialised SAS consultant can help you with it.

http://documentation.sas.com/?docsetId=bisag&docsetTarget=n0zdcqxsmd21wtn17vt0w2prek90.htm&docsetVer...

http://documentation.sas.com/?docsetId=bisag&docsetTarget=n1ov3paky6afj8n1bj7l55o8jvw5.htm&docsetVer...

 

Kind regards,

Juan

View solution in original post

10 REPLIES 10
JuanS_OCS
Amethyst | Level 16

Great topic, @shirishkamath.

 

You have got 2-3 options to achieve this.

 

1- The reverse proxy is a good idea, how ever, it is complex for people not used to apply it on a SAS server. For this, I highly recommend you a SAS consultant, expert in SAS deployments. Your SAS representative will be able to help you and pin point you to the right SAS team or an specialised SAS partner.

 

2- Another option, if you have a good Web administrator, is to implement a URL rewrite rule in the SAS Web Server.

https://httpd.apache.org/docs/2.0/misc/rewriteguide.html

https://httpd.apache.org/docs/2.4/rewrite/remapping.html

 

3- Probably your best option, (simplier, SAS-managed and not overkilling) would be to update your hostname selected in the SAS installation. You can achieve this with the SAS Deployment Manager and some grep tools. You can try to do this by yourself and, if it does not work either, an especialised SAS consultant can help you with it.

http://documentation.sas.com/?docsetId=bisag&docsetTarget=n0zdcqxsmd21wtn17vt0w2prek90.htm&docsetVer...

http://documentation.sas.com/?docsetId=bisag&docsetTarget=n1ov3paky6afj8n1bj7l55o8jvw5.htm&docsetVer...

 

Kind regards,

Juan

ronan
Lapis Lazuli | Level 10

Fully agree with @JuanS_OCS, go with the 3rd option. Setting up a reverse proxy http doesn't work as good. Replacing the FQDN Web server hostname woth the DNS alias in the SAS metadata repository is the best way to go imho.

shayes_ccllc
Fluorite | Level 6

All three options provided by Juan are excellent and it could be that option 3 is best for your site. However, if you're truly looking to replace "abcd.org.com:7980" with "sasstudiodev.org.com" then you'll need to go with option 1 and use a reverse proxy. When not specifying a port (i.e. :7980) in the URL, the browser defaults to http port 80. Options 2 and 3 will continue to use the default SAS WebServer port of 7980 so your updated solution would still have a URL of http://sasstudiodev.org.com:7980/SASStudio. If that's acceptable to you and your users, I agree that option 3 is likely the most straightforward.

 

The primary prerequisite for option 1 is that you'll need Administrator/root or sudo-to-root access to your server to be able to run on port 80 and also to configure your web server to start at boot, etc.

 

Cheers,

 

Spencer

shirishkamath
Obsidian | Level 7
Hi Juan,

Now we configured a load balanced URL that will direct the request from "sasstudiodev.org.com" to "http://abcd.org.com:7980/SASStudio" . Note that abcd and sasstudiodev do not have same ip address and sasstudiodev is a load balanced URL. But now we would like to ensure that the host name (i.e. abcd) is not visible to end users. Hence when a user types "sasstudiodev.org.com", SAS should connect to the available mid-tier node based on LB algorithm but the URL displayed in the address bar should NEVER expose the host name, ie. it should still show sasstudiodev.org.com/~/~

Is this possible?
JuanS_OCS
Amethyst | Level 16

Hello @shirishkamath,

 

yes, you can, with URL Rewrite rules. Carefull and test as much as you need before releasing.

 

PS. I already thought about it when you posted the last answer, but I thought: "well, it is working, so no need to add anything", but I do:

I think a load balancing is a bit over killing in this case, since it seems you just put a URL forwarding rule, and that's it. Hence, a normal Web Server (any) can do the same job. Just FYI 🙂

ksuman
Obsidian | Level 7

Hi,

 

Is it possible for SAS viya from any external user link to access SAS viya ?

 

Reddy

shirishkamath
Obsidian | Level 7
Hi All,

Thank you so much for the detailed replies. Really appreciate it.

We have decided to go for a load balancer and as and when add multiple mid tier nodes, it will help us in routing incoming traffic accordingly.

But Juan, your post is indeed clear and provided me with immense knowledge about how to setup DNS alias.

Thank you.
D_e_n_n_i_s
Obsidian | Level 7

Since this seems to be the closest thread to my question, I decided to post a variation on the original question here.  We have a Visual Analytics non-distributed server and the VA URL is difficult for users to remember if they are on conference room computers or some other machine besides where they have a convenient shortcut to it.  I'm not trying to hide any URL info, but want to redirect a simple URL entry to the long VA URL.

 

Not sure of exactly how to accomplish this, we first added a DNS CName record for sas.brookshealth.local that resolves to cxpvwappsasva01.brookshealth.local (brookshealth.local is our domain).  I now need to configure our Apache server to perform a URL rewrite for the URN portion of the URL since DNS cannot do that.

 

I am not familiar with Apache, but doing some research and then searching our SAS VA server for matching Apache configuration files, I thought I had found the main config file, named httpd.conf.vm at:

\\cxpvwappsasva01\e$\SAS\Config\Lev1\Web\Scripts\AppServer\src\Velocity\vfabrcersvrc\httpd.conf.vm

 

I wanted to redirect both the VA URL and a web page we created on our internal SharePoint site so to the bottom of this file I added:

Redirect permanent "/sas" http://cxpvwappsasva01.brookshealth.local:7980/SASVisualAnalyticsHub/

Redirect permanent "/LearnSAS" http://ebrooks/teams/DataScience/SitePages/SASVideos.aspx

 

Well, in searching for the path above for this post, I actually found a different file that may be the REAL SAS Apache config file:

\\cxpvwappsasva01\e$\SAS\Config\Lev1\Web\WebServer\conf\httpd.conf

 

I'll stop services and re-try my code (will notify users of VA downtime), but I wanted to share what I had found and see if anyone knows if my syntax is simply wrong or if I edited the wrong file.  I'm also a bit concerned with using the "Redirect" Apache directive as it seems to be for domain redirection, changing the path before the trailing URL, but leaving the trailing URL "allowing" you to redirect

domain1\coolwebpage to domain2\coolwebpage ... I'm not trying to do that, but instead just trying to redirect one web page to another so perhaps there is a better way to perform this simpler task.  I couldn't locate the .htaccess file on the VA server, but with my new match on the httpd.conf file just now, I'll try searching for it again.

 

Thanks for any and all thoughts and feedback.  This is unsupported by SAS, but I don't think I'm getting too far out there with a simple URL redirection with a couple of lines of code change to an Apache configuration file.

 

Thanks,

Dennis

ShelleySessoms
Community Manager

Hi @D_e_n_n_i_s,

 

Since this topic is older and has an accepted solution, it is not the best spot to look for help on a similar question. Your best bet is to post a new question and link to this one for reference. New questions get more visibility than older posts. Good luck!

 

Shelley

It's time to register for SAS Innovate! Join your SAS user peers in Las Vegas on April 16-19 2024.
D_e_n_n_i_s
Obsidian | Level 7

Shelley,

 

Thanks for the tip - I'll put out a fresh post now.

 

Thanks,

Dennis