Forum Discussion
LTM+APM Mode and Other URL links
Hi, Just used the iAPP f5.microsoft_sharepoint_2010_2013.v1.0.0rc2 to create access for my external users to access my internal SharePoint Server. Got it working after working through some minor issues and such and overall the new app seems to be working just fine.
Only issue remaining, our internal SharePoint server has a few links to other internal web applications running on other servers.
Currently, a user might connect up from the outside using: https://portal.ourcompany.com. User is presented with the SharePoint home screen. Among other things, this screen may contain the link http://app1.internalcompanydomain.com pointing to a specific application on an other server. If user hovers the mouse over the link, the real URL is shown. If user clicks on this link, user is presented with a not found message. Which makes since because my users are actually on the outside.
Before I switched to the iAPP, I was using standard portal mode and URL rewrite. Links to other sites worked just fine. However, due to all of the other issues I was seeing with SharePoint I had to switch to the iAPP.
I am wanting to know if there is an other way to get these URL links working? Perhaps some rule to rewrite the specific URLS? Or??
Thoughts? Thanks, Danny
10 Replies
- Thomas_Gobet_91
Cirrostratus
Hi Danny,
I would suggest you to have a look on ProxyPass iRule here : ProxyPass
Let me know if it's ok for you, once you'll have try it.
Thomas
- DannyG_34437
Cirrus
Hi Thomas, I've looked over the ProxyPass iRule. I guess I am not too clear on how this might solve my problem. Can you make suggestions on how? Thanks, Danny
- Thomas_Gobet
Nimbostratus
Hi Danny,
I would suggest you to have a look on ProxyPass iRule here : ProxyPass
Let me know if it's ok for you, once you'll have try it.
Thomas
- DannyG_34437
Cirrus
Hi Thomas, I've looked over the ProxyPass iRule. I guess I am not too clear on how this might solve my problem. Can you make suggestions on how? Thanks, Danny
- Kevin_Stewart
Employee
ProxyPass is an iRule-based rewrite engine. It uses information configured in a data group to rewrite content as it passes through the proxy in both directions, and is used heavily in situations just like this, where an internal URL needs to be mapped to an external URL (and then back). There's an APM version of ProxyPass, but if you're running 11.4, you're probably better off using a rewrite profile. You would essentially map the internal URLs, the URLs that your app is exposing to the client, to external URLs - URLs that the client can connect to. You then need to expose those external URLs as VIPs so that they are accessible. For example:
app.internalsite.local = app.example.com - DannyG_34437
Cirrus
Kevin, thanks for the post.
If I understand this correctly, my users are currently connecting from the outside to a sharepoint server using https://portal.somecompany.com and one of the links on that site I am interested in is called http://app1.insideservers.com.
I then need to created a rewrite profile to map the inside URL http://app1.insideservers.com to outside URL https://portal.somecompany.com. I already have a VIP for the https://portal.somecompany.com.
Does that sound correct? Or, are you saying that I need a totally separate external URL and VIP than the one I am currently using for sharepoint access?
Thanks, Danny
- Kevin_Stewart
Employee
Your best bet I believe is to remap the internal app to a separate external name (ex. app1.somecompany.com), and either create a separate VIP (with the same rewrite profile), or configure external DNS to point it to the same host and use a host-based routing iRule.
- DannyG_34437
Cirrus
This is fairly new to me so I don't completely understand have to proceed. However, I have a lab VE environment and can play all I want 🙂 So far, I have written the following rule:
Replace http://otherinternalserver/ with https://portal-dev.outsideserver.com/ in response content Prevents server compression in responses when HTTP_REQUEST { Disable the stream filter for all requests STREAM::disable LTM does not uncompress response content, so if the server has compression enabled and it cannot be disabled on the server, we can prevent the server from sending a compressed response by removing the compression offerings from the client HTTP::header remove "Accept-Encoding" } when HTTP_RESPONSE { Check if response type is text if {[HTTP::header value Content-Type] contains "text"}{ Replace http://otherinternalserver/ with http://portal-dev.outsideserver.com/ STREAM::expression {@http://otherinternalserver/@http://portal-dev.outsideserver.com/@} Enable the stream filter for this response only STREAM::enable } }When an outside user connects to https://portal-dev.outsideserver.com/, they see the internal server as before the rule was implemented. Now however, when they hover over the other internal server link on the page, their link displays the "https://portal-dev.outsideserver.com/" as I would expect. But basically the link does not work and responds with a 404 page not found.
Kevin, is this the correct approach? I think I understand why I need to have a different outside VS for the link, just wanted to make sure I'm going down the correct path..
Thanks, dg
- DannyG_34437
Cirrus
Just to clarify, "I have written the following rule:" is more like a copy/paste and modify from DEVCent... :)
- Thomas_Gobet
Nimbostratus
Can you add that to your iRule to log requests matched by your LTM plz.
when STREAM_MATCHED { log local0. "Request matched: [STREAM::match]" }And last question, on which version is your BIG-IP ?
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com