We've been trying to implement SignalR for a browser MMO, and so far it works great. We managed to separate client from server, and even have them on separate computers. The thing is, this works when both computers are on the same network. We just change the IP to which it the client points to, and it works like a charm.
Now, the issue arises when the host is on another network. Namely, our server is an Amazon Web Service virtual machine, but we've even tied hosting ourselves on other IPs. We can't seem to find a way to point to the local address within the public address. By pointing to a global IP, we're only pointing to a router, but we want to be able to access a computer within that address.
How do we get around to doing this? Can we specify global address AND local address? Do we need to configure a forwarding rule?
In the very specific case of AWS, there's a somewhat obscure option for inbound rules. Once logged on the AWS homepage, you'll be taken to the management console. Then, choose "EC2 - Virtual Servers in the Cloud", and click on "Security Groups". If you don't have any security groups created, you'll need to create one - there's a detailed tutorial for that on that same screen. Choose a group, and then click on the Actions icon (right next to the "Create Security Group" button), and from the drop-down menu, select "edit inbound rules". You then have click "Add Rule", choose a "Custom TCP rule", select the port on which the rule to be created, and any source IPs that apply to this rule (usually "anywhere" is the desired option). Finally, hit the save button, and this rule should be in effect immediately.
Hope this helps someone!
Related
My Cpu Utilitzation went above 100% when i Installed a new theme and was trying to setup it's settings. But after that I can't reach ip address it says "" I wanted to suspend and resume the instance. Can anyone tell me if it will give any problems. How can I solve this issue.
This site can’t be reached
domain.com took too long to respond.
I think it could be two reasons for this behaviour-- It could be a problem with your instance or with the IP.
If you don't have your external IP address reserved, the IP will be released when you stop your instance and when you start your instances again, GCP will provide a new External IP.
You can check what External IP you have on the External IP addresses, and try to access your WordPress site through this new IP.
To avoid this problem in the future you can promote your ephemeral external IP address, you can use this guide as reference or follow the next steps:
In the Cloud Console, go to the External IP addresses page.
In the Type column, change the address type to Static for the IP address you want to promote.
Provide a name for the new static IP address and click Reserve.
In this way, the next time you stop your instance you will keep your IP.
Please keep in mind that, if your IP address has changed, you need to update your DNS with the new IP.
Additionally, I suggest increasing your resources per your convenience to enhance your performance, because the behaviour you mentioned in your CPU usage is a good indicator that your existing machine type is not a good fit for your workloads you run on that instance.
Changing a machine type
1.- Go to the VM Instances page.
2.- In the Name column, click on your instance.
From the instance details page, complete the following steps:
a) Click the Stop button to stop the instance, if you have not stopped it yet.
b) After the instance stops, click the Edit button at the top of the page.
c) Under the Machine configuration section, select the machine type you want to use.
d) Save your changes and start again your VM Instance.
I suggest to reserve the IP before any change in your instance.
On the other hand, I recommend you review the following guides on asking questions in order to provide a better context on what you're doing and what you want to achieve: How do I ask a good question? and How to create a Minimal, Complete, and Verifiable example?
When firing up multiple new EC2 instances, how do I make these new machines automatically accessible publicly on my domain ****.example.com?
So if I fire up two instances that would normally have a public DNS of
ec2-12-34-56.compute-1.amazonaws.com and ec2-12-34-57.compute-1.amazonaws.com
instead be ec2-12-34-56.example.com and ec2-12-34-57.example.com
Is there a way to use a VPC and Route53 or do I need to run my own DNS server?
Lets say you want to do this in the easiest way. You don't need a VPC
First we need to set up an elastic ip address. This is going to be the connection point between the Route53 DNS service (which you should absolutely use) and the instance. Go into the EC2 menu of the management console, click elastic ip and click create. Create it into EC2-Classic (option will pop up). Remember this ip.
Now go into Route53. Create a hosted zone for your domain. Go into this zone and create a record set for staging.example.com (or whatever your prefix is). Leave it as an A record (default) and put the elastic IP in the textbox.
Note you now need to go into your registrar login (e.g. goDaddy) and replace the nameservers with the ones shown on the NS record. They will look like:
ns-1776.awsdns-30.co.uk.
ns-123.awsdns-15.com.
ns-814.awsdns-37.net.
ns-1500.awsdns-59.org
and you will be able to see them once you create a hosted zone.
Once you've done this it will redirect all requests to that IP address. But it isn't associated with anything. Once you have created an instance, go back into the elastic ip menu and associate it with the instance. Now all requests to that domain will go to that instance. To change just re-associate. Make sure your security zones allow all traffic (or at least HTTP) or it will seem like it doesn't work.
This is not good cloud architecture, but it will get the job done. Better cloud architecture would be making the route point to a load balancer, and attaching the instance to the load balancer. This should all be done in a VPC. It may not be worth your time if you are doing development.
My client has a website that is showing some strange behavior. The site is built in ASP.Net and used to be hosted on their internal network. It's now been moved to a different server outside their network. They have other sites hosted on the same server, some built using DotNetNuke, and some classic ASP. All these sites are hosted on one application server, with a database (SQL Server 2008) on a separate server (which is on the same network as the application server). They share the application server, and the database server.
Now that this site has been moved to the outside server, they can't access it. I can, and so can others that I work with (from different IPs, across the country). But the client can't from their network. They can access the landing page subsite.clientdomain.com (no db access), but nothing else. So, for instance, there's a link to subsite.clientdomain.com/folder. When they click that link, the URL changes to subsite.com/folder, which does not work. For myself and others not at the client site, the URL does not change and opens with no problems.
I didn't write the site, and didn't even know it existed before this problem cropped up, so I know very little more than this. Any help is appreciated.
I'm going to go with Martijn B's answer. There's a DNS issue on the internal network. Somewhere on of the DNS servers is a definition that maps http://companywebsite to an ip address like 192.168.1.20 or whatever.
I would open a command prompt on your PC and type
ping new_website_name.com
Take a look at the IP address that comes back. You can also do an nslookup on new_website_name.com that will give you more information. If you (person A) gets one IP address and Person B (inside the network) gets a different IP address....there is definitely a DNS issue on the internal network.
You're going to have to do some network tracing to determine exactly where any redirection is occurring. Given that the problem is only manifested in certain locations, it is likely that it is a function of network configuration in that location (as previously suggested). Without understanding exactly what redirection is occurring, it would be unwise to make configuration changes that might make the problem worse or introduce new issues.
A DNS server cannot AFAIK redirect to a different URL. So something is redirecting from subsite.clientdomain.com/folder to subsite.com/folder, which could be caused by a HTTP redirect. This can be triggered by the software/website itself or by IIS.
my asp application(deployed in local server) is not running if proxy is enabled in a browser, if remove proxy application is working fine, can any one tell me the solultions please...?
Most browsers have an option for bypassing proxy server for local addresses, so you need to make sure that is checked. In internet explorer, for example, you can get to this by going to Tools/Internet Options and selecting the connections tab. Then click the Lan Settings button, and there is a checkbox for "Bypass proxy server for local addresses".
By "local server", I assume you mean your own machine. If that's not the case, then the other thing you can do is click the Advanced button (on the same screen as above) and you can add an exception to the "Do not use proxy server for addresses beginning with" section. You can use wildcards here, like *mylocalserver*, for example.
By the sounds of it you just need to tell your browser to not use the proxy for local addresses, e.g. localhost.
I would like to know if it is possible using IIS and ASP.NET (and ideally something that might be employed on a shared hosting account, but this isn't required) to mimic WordPress.com's ability to allow end users to use their own domain names.
WordPress has users who own their own domains change the domain's DNS settings to point to WordPress's own DNS. My guess is this is not something that would be able to be done on a shared hosting account since it would involve adding an entry to the DNS server's table for each custom user domain.
However, for future reference, is this something that might be automated programmatically on perhaps a VPS?
My guess is this is not something that would be able to be done on a shared hosting account
You're nearly correct. The default site in IIS listens to all connections on port 80 for the default IP address.
You can add more sites in 3 ways:
Add new sites listening on different ports. This is not entirely practical if you want "ordinary" sites litening on port 80.
Add more IP addresses to the box (not too eaisly done) and set up new IIS sites to listen to the new IP addresses independently.
Add new sites to the server listening to different "host headers" (domain names to you and I) but on the same (default) IP address .
So called "Shared hosting" usually uses options 3, because a hosting company can get away with only using a single IP address for possibly hundreds of sites.
Therefore you would have to go through the tedious process of adding each host header to the box, and while I'm almost certian this could be done with Wscript, I'm no expert in that area.
If you really wanted to get into it, you could write an ISAPI module to intercept the calls and set up some clever (ish) database/hash table of domain names and target folders to server as the different sites.
Bottom line is, there are various ways to achieve this on Windows. Probably none quite as easy as on a *nix platform where everything is super-scriptable.
What we do is have a wildcard DNS entry set up for our domain. That way, whatever domain the user types will resolve to our website as long as it ends with ".mydomain.com". Then our .Net code just looks at the "HOST" header coming in and serves up the content that matches that domain name.