<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DNS &#8211; Xojo Programming Blog</title>
	<atom:link href="https://blog.xojo.com/tag/dns/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.xojo.com</link>
	<description>Blog about the Xojo programming language and IDE</description>
	<lastBuildDate>Tue, 31 Mar 2026 20:18:09 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Hosting a Xojo Web Application Behind IIS</title>
		<link>https://blog.xojo.com/2022/10/20/hosting-a-xojo-web-application-behind-iis/</link>
		
		<dc:creator><![CDATA[Wayne Golding]]></dc:creator>
		<pubDate>Thu, 20 Oct 2022 13:00:00 +0000</pubDate>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Guest Post]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Installer]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[Xojo Programming Language]]></category>
		<guid isPermaLink="false">https://blog.xojo.com/?p=10897</guid>

					<description><![CDATA[Wayne Golding]]></description>
										<content:encoded><![CDATA[
<p>On July 1<sup>st</sup>, 2022, Microsoft withdrew the Web Platform Installer and plans to remove it and its catalogues from servers on December 31<sup>st</sup>, 2022.&nbsp; You can read more about this at <a href="https://blogs.iis.net/iisteam/web-platform-installer-end-of-support-feed">IIS Team Blog &#8211; Web Platform Installer &#8211; End of support and sunsetting the product/application feed</a>.&nbsp; The following instructions show you how to continue to host Xojo Web Applications behind IIS.</p>



<p>There are four parts to this article: Part 1 prepares the server for reverse proxy, Part 2 installs the Web Application and create a Windows Service for that app, Part 3 configures the Web Site and, finally, Part 4 looks at setting up the DNS record.</p>



<p>These instructions have been tested on Windows 2016, 2019 and 2022 servers. &nbsp;</p>



<h3 class="wp-block-heading">Part 1: Preparing the Server for Reverse Proxy</h3>



<ol class="wp-block-list"><li>Add the Web Server Role to your server.&nbsp; This is done through the Server Manager application.&nbsp; Default selections have been used.</li></ol>



<figure class="wp-block-image size-full is-style-default"><img fetchpriority="high" decoding="async" width="902" height="644" src="https://blog.xojo.com/wp-content/uploads/2022/10/image.png" alt="" class="wp-image-10898" srcset="https://blog.xojo.com/wp-content/uploads/2022/10/image.png 902w, https://blog.xojo.com/wp-content/uploads/2022/10/image-300x214.png 300w, https://blog.xojo.com/wp-content/uploads/2022/10/image-768x548.png 768w" sizes="(max-width: 902px) 100vw, 902px" /></figure>



<ol class="wp-block-list" start="2"><li>Download the URL Rewrite component from <a href="https://www.iis.net/downloads/microsoft/url-rewrite">https://www.iis.net/downloads/microsoft/url-rewrite</a> and install it.</li><li>Download the Application Request Routing (ARR) component from <a href="https://www.iis.net/downloads/microsoft/application-request-routing">https://www.iis.net/downloads/microsoft/application-request-routing</a> and install it.</li></ol>



<p>Your server is now ready to host Web Applications behind IIS.</p>



<h3 class="wp-block-heading">Part 2: Installing the Web Application and Configuring the Windows Service</h3>



<p>As Xojo built applications are stand-alone, it is simply a matter of copying the application to the server. Typically, the location will be C:\Program Files\&lt;Your Company Name&gt;\&lt;Your Application Name&gt;.</p>



<p>To create the Windows Service, you’ll need to run CMD As Administrator and enter the following commands.&nbsp; I have used Demo Company and Demo Application.</p>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow">
<pre class="wp-block-preformatted">SC Create Demo binpath= “C:\Program Files\Demo Company\Demo Application\Demo Application.exe –port=8080” Start= auto
SC Description Demo “Demo Web Application”
SC Failure Demo actions=restart/2000/restart/2000/restart/2000 reset=10
SC FailureFlag Demo 1
SC Start Demo</pre>
</div></div>



<pre class="wp-block-preformatted">SC Create creates the service setting the path to the binary (executable file) specifying Port 8080 and configuring the service to start with the server.</pre>



<pre class="wp-block-preformatted">SC Description sets the long description for the service and is optional</pre>



<pre class="wp-block-preformatted">SC Failure configures how the controller will handle service crashes.&nbsp; In this case the service will be restarted after 2seconds for the first, second and subsequent failures.&nbsp; The failure count will be reset after 10 seconds.</pre>



<pre class="wp-block-preformatted">SC FailureFlag configures the service to treat app crashes as service crashes.&nbsp; Without this the controller won’t execute the failure actions set previously</pre>



<pre class="wp-block-preformatted">SC Start simply starts the service.</pre>



<h3 class="wp-block-heading">Part 3: Configuring the Web Site</h3>



<p>First, you’ll need to create the website using Internet Information Server Manager:</p>



<figure class="wp-block-image size-full is-style-default"><img decoding="async" width="1424" height="752" src="https://blog.xojo.com/wp-content/uploads/2022/10/image-1.png" alt="" class="wp-image-10899" srcset="https://blog.xojo.com/wp-content/uploads/2022/10/image-1.png 1424w, https://blog.xojo.com/wp-content/uploads/2022/10/image-1-300x158.png 300w, https://blog.xojo.com/wp-content/uploads/2022/10/image-1-1024x541.png 1024w, https://blog.xojo.com/wp-content/uploads/2022/10/image-1-768x406.png 768w" sizes="(max-width: 1424px) 100vw, 1424px" /></figure>



<p>Next, you’ll add a reverse proxy rule using the URL Rewrite function:</p>



<figure class="wp-block-image size-full is-style-default"><img decoding="async" width="1425" height="751" src="https://blog.xojo.com/wp-content/uploads/2022/10/image-2.png" alt="" class="wp-image-10900" srcset="https://blog.xojo.com/wp-content/uploads/2022/10/image-2.png 1425w, https://blog.xojo.com/wp-content/uploads/2022/10/image-2-300x158.png 300w, https://blog.xojo.com/wp-content/uploads/2022/10/image-2-1024x540.png 1024w, https://blog.xojo.com/wp-content/uploads/2022/10/image-2-768x405.png 768w" sizes="(max-width: 1425px) 100vw, 1425px" /></figure>



<p>Select Add Rule:</p>



<figure class="wp-block-image size-full is-style-default"><img loading="lazy" decoding="async" width="1426" height="750" src="https://blog.xojo.com/wp-content/uploads/2022/10/image-3.png" alt="" class="wp-image-10901" srcset="https://blog.xojo.com/wp-content/uploads/2022/10/image-3.png 1426w, https://blog.xojo.com/wp-content/uploads/2022/10/image-3-300x158.png 300w, https://blog.xojo.com/wp-content/uploads/2022/10/image-3-1024x539.png 1024w, https://blog.xojo.com/wp-content/uploads/2022/10/image-3-768x404.png 768w" sizes="auto, (max-width: 1426px) 100vw, 1426px" /></figure>



<p>Select Reverse Proxy:</p>



<figure class="wp-block-image size-full is-style-default"><img loading="lazy" decoding="async" width="902" height="608" src="https://blog.xojo.com/wp-content/uploads/2022/10/image-4.png" alt="" class="wp-image-10902" srcset="https://blog.xojo.com/wp-content/uploads/2022/10/image-4.png 902w, https://blog.xojo.com/wp-content/uploads/2022/10/image-4-300x202.png 300w, https://blog.xojo.com/wp-content/uploads/2022/10/image-4-768x518.png 768w" sizes="auto, (max-width: 902px) 100vw, 902px" /></figure>



<p>And finally configure the rule:</p>



<figure class="wp-block-image size-full is-style-default"><img loading="lazy" decoding="async" width="850" height="860" src="https://blog.xojo.com/wp-content/uploads/2022/10/image-5.png" alt="" class="wp-image-10903" srcset="https://blog.xojo.com/wp-content/uploads/2022/10/image-5.png 850w, https://blog.xojo.com/wp-content/uploads/2022/10/image-5-297x300.png 297w, https://blog.xojo.com/wp-content/uploads/2022/10/image-5-768x777.png 768w" sizes="auto, (max-width: 850px) 100vw, 850px" /></figure>



<p>127.0.0.1 is the local machine and 8080 is the port configured in the service.</p>



<h3 class="wp-block-heading">Part 4: DNS</h3>



<p>For the client browsers to find the site you need to add a record to your Domain Name Server.</p>



<figure class="wp-block-image size-full is-style-default"><img loading="lazy" decoding="async" width="902" height="856" src="https://blog.xojo.com/wp-content/uploads/2022/10/image-6.png" alt="" class="wp-image-10904" srcset="https://blog.xojo.com/wp-content/uploads/2022/10/image-6.png 902w, https://blog.xojo.com/wp-content/uploads/2022/10/image-6-300x285.png 300w, https://blog.xojo.com/wp-content/uploads/2022/10/image-6-768x729.png 768w" sizes="auto, (max-width: 902px) 100vw, 902px" /></figure>



<p>You can see here I’m adding a CNAME record to the DNS Manager.&nbsp; The fully qualified domain name matches the website name, and the site is hosted on a machine called WebServer.&nbsp; We use a CNAME record which is an alias of the WebServer A record so that if the WebServer ip address was changed all the sites would automatically follow.</p>



<p><em>Wayne Golding has been a Xojo developer since 2005 and is a Xojo MVP. He operates the IT Company <a href="http://www.axisdirect.nz">Axis Direct Ltd </a>which primarily develops applications using Xojo that integrate with Xero www.xero.com. Wayne’s hobby is robotics where he uses Xojo to build applications for his Raspberry Pi, often implementing IoT for remote control.</em></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Change your DNS settings for a smooth transition to a bigger, better server</title>
		<link>https://blog.xojo.com/2019/03/13/change-your-dns-settings-for-a-smooth-transition-to-a-bigger-better-server/</link>
		
		<dc:creator><![CDATA[Jason Parsley]]></dc:creator>
		<pubDate>Wed, 13 Mar 2019 10:00:51 +0000</pubDate>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Xojo Cloud]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[Xojo Programming Language]]></category>
		<guid isPermaLink="false">https://blog.xojo.com/?p=5516</guid>

					<description><![CDATA[But moving your projects from one server to another is easier said than done. You'll need to plan carefully to avoid downtime. Here is a simple change you can make to your DNS settings in order to limit downtime, making the move to a better server smoother.]]></description>
										<content:encoded><![CDATA[<p>Most <a href="https://www.xojo.com/cloud/">Xojo Cloud</a> users have already switched to the newer Xojo Cloud servers. These new servers have more RAM and SSDs and are the priced lower or the same as our previous servers. But moving your projects from one server to another is easier said than done. You&#8217;ll need to plan carefully to avoid downtime. Here is a simple change you can make to your DNS settings in order to limit downtime, making the move to a better server smoother.</p>
<p><span id="more-5516"></span></p>
<p>The current A record in your DNS settings points to your existing Xojo Cloud server&#8217;s IP address and probably has a TTL (time to live) of 24 hours. At least 24 hours before you plan to move your server data and change the IP address, set the TTL to 5 minutes. Doing this means that you can change the IP address to your new server IP address and most of the DNS servers out there should pick up on the change in around 5 minutes.</p>
<p>After you have made the move to the new server, you should set your TTL back to 24 hours, or whatever it was set to previously. And that&#8217;s it!</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Xojo.Net.HTTPSocket Speed on Windows</title>
		<link>https://blog.xojo.com/2017/03/09/xojo-net-httpsocket-speed-on-windows/</link>
		
		<dc:creator><![CDATA[Greg O'Lone]]></dc:creator>
		<pubDate>Thu, 09 Mar 2017 06:46:11 +0000</pubDate>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[HTTPSocket]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Xojo Framework]]></category>
		<guid isPermaLink="false">http://blog.xojo.com/?p=2233</guid>

					<description><![CDATA[There&#8217;s been a bit of discussion about how the new Xojo.Net.HTTPSocket is slow for some users on Windows, which we&#8217;ve been trying to isolate to&#8230;]]></description>
										<content:encoded><![CDATA[<p>There&#8217;s been a bit of discussion about how the new <a href="http://developer.xojo.com/xojo-net-httpsocket">Xojo.Net.HTTPSocket</a> is slow for some users on Windows, which we&#8217;ve been trying to isolate to get fixed.</p>
<p>After a bit of experimentation this January we were able to isolate one huge cause of this annoying behavior. Unfortunately it has to do with a misconfigured IPv6 DNS server configuration and whether or not yours is correct may be up to your service provider.</p>
<h3>Whose bug is this?</h3>
<p>According to the spec, IPv6 DNS servers are <em>supposed to</em> return immediately if they can&#8217;t fulfill the request. Unfortunately this is almost the exact opposite of what an IPv4 DNS server does, in that it <em>may</em> forward your request to the next server to see if it knows where your request should go. Unfortunately we found that only about two-thirds of the ones we tested were correctly configured.</p>
<p>On macOS and Linux, DNS requests are sent concurrently, that is, two requests are sent at the same time, one each for IPv4 and IPv6. The one that returns first is used. On Windows, the requests are unfortunately sent sequentially, IPv6 <em>and then IPv4</em>. What this means is that IPv6 requests just hang there, waiting for a response that will either never come or will wait until the underlying socket reaches its timeout. When that fails, the IPv4 request is sent and fulfilled and your socket request goes through.</p>
<h3>What To Do</h3>
<p>Here are a few things you can do to test this theory. While you can&#8217;t really ask all of your users to do this, it will tell you if this is where the problem lies.</p>
<ol>
<li>Turn off IPv6.
<ol>
<li>Click <strong>Start</strong> and then <strong>Settings.</strong></li>
<li>Search for <strong>Network Connections</strong>.</li>
<li>Click <strong>View network connections</strong>.</li>
<li>Right-click on the active connection and select <strong>Properties</strong>.</li>
<li>On the <strong>Networking</strong> tab, clear the <strong>Internet Protocol Version 6 (TCP/IPv6)</strong> check box, and then click <strong>OK</strong>.</li>
</ol>
</li>
<li>Change the DNS entries for IPv6 from the defaults to point to <a href="https://developers.google.com/speed/public-dns/">Google Public DNS</a> or <a href="http://opendns.com">OpenDNS</a>.</li>
<li>Make a Hosts file entry. If your installer runs as an administrator, you can make an entry in the hosts file to force the computer to use IPv4. <em><em><em>This is not a long term solution as the world moves to IPv6.</em></em></em>The hosts file on Windows 7/8/10 is located at:
<pre>C:\Windows\System32\drivers\etc</pre>
<p>and you should add an entry which looks like this:</p>
<pre>Server IP Address&lt;TAB&gt;domain name</pre>
</li>
<li>If it&#8217;s a domain that you control, make sure you only use IPv4 DNS entries and that your server is only listening on the IPv4 interface.</li>
</ol>
<p>All in all, it&#8217;s a frustrating problem. While there&#8217;s no easy solution, the good news is that because there are no IPv4 addresses left to be distributed, the world <em>is</em> moving to IPv6. The more demand there is, the more likely that the incorrect DNS servers will get fixed because they&#8217;ll cause problems for other sites as well.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
