Subdomain to Port redirect [closed] - apache

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 10 months ago.
Improve this question
I created a AWS instance to hold my jenkins and archiva services 5 days ago.
I already have my own domain, and created DNS Subdomain jenkins.mydomain.com and archiva.mydomain.com entries to redirect to my AWS instance.
But, I wanna use something like that:
jenkins.mydomain.com instead of jenkins.mydomain.com:8080
archiva.mydomain.com instead of archiva.mydomain.com:8081
Someone can help me?
I already instaled a apache2 service too.
Editing... to make more clear because i don't figure out anything...
I have my own domain: mydomain.com
I created a CNAME entry dev.mydomain.com on DNS server that point to somename.no-ip.info
I created a AWS instance and installed no-ip update client. So I have sure that somename.no-ip.info is pointing to this machine
On this machine I have 2 services: Jenkins on port 9090 and Archiva on port 9091.
I'm able to access these using somename.no-ip.info:9090 and somename.no-ip.info:9091
I'm also able to access it from dev.mydomain.com:9090 and dev.mydomain.com:9091
What I want, if it's possible, is access from jenkins.mydomain.com and archiva.mydomain.com

adding a reverse proxy in apache will fix this problem , something along the lines of wiki.apache.org/httpd/TomcatReverseProxy

It's working now.
I make CNAME entries for jenkins.mydomain.com and archiva.mydomain.com both pointing to somename.no-ip.info.
On my /etc/httpd/conf/httpd.conf i setted:
NameVirtualHost jenkins.mydomain.com:80
<VirtualHost jenkins.mydomain.com:80>
ServerAdmin admin#mydomain.com.br
ServerName jenkins.mydomain.com
ProxyPreserveHost On
ProxyPass / http://localhost:9090/
ProxyPassReverse / http://localhost:9090/
</VirtualHost>
NameVirtualHost archiva.mydomain.comr:80
<VirtualHost archiva.mydomain.com:80>
ServerAdmin admin#mydomain.com
ServerName archiva.mydomain.com
ProxyPreserveHost On
ProxyPass / http://localhost:9091/
ProxyPassReverse / http://localhost:9091/
</VirtualHost>
But now I'm getting this warning:
[warn] NameVirtualHost archiva.mydomain.com:80 has no VirtualHosts
Someone knows how to fix it?

This reply is late and I'm sure you have figured it out by now. I see your NameVirtualHost with an 'r' tagged at the end of your .com, which I am sure is a typo and thus creating your problem.
HTH

you also need to create a virtual host to let appache point to the correct folder when request is made on port 9091

Related

Apache Virtual Host doesn't work [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 6 years ago.
Improve this question
I'm trying to get Apache Virtual Host to work but it wont catch the domains and goes out on the internet instead.
I've enabled the Virtual Host in the Config file:
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
My httpd-vhosts.conf file looks like this:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "//nas/Web Design/Sites"
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster#fdn.dk
DocumentRoot "//nas/Web Design/Sites/Fdn"
ServerName fdn.dk
ServerAlias www.fdn.dk
ErrorLog "logs/fdn/error.log"
CustomLog "logs/fdn/access.log" common
</VirtualHost>
http://Localhost works fine but when i type fdn.dk or www.fdn.dk the browser tries to find the site on the internet instead of looking at my local folder.
What is wrong...??
I tried to find a solution on the internet but without luck.
Do I need to change something in the host file ???
Kind Regards
Flemming
Yes, you need to add that domain name to /etc/hosts file if you are using an operating system that has it.
Or to C:\WINDOWS\system32\drivers\etc\hosts if you are using Windows.
Example of record:
127.0.0.1 www.fdn.dk

How to connect to a specific website on localhost? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I have a local Apache server running on the network and I've got a number of tester machines. I want to be able to connect to a specific website on the localhost, at the moment it just connects to the first website.
For example: 192.168.1.125/mywebsite.
I've looked around I cannot find the method of conneciton, I know it's something really simple but everywhere I look answers a different problem. (Maybe this is too simple).
So basically I'm asking, how do I access the other servername though the browser. (setup is like so:)
<VirtualHost *:80>
DocumentRoot c:/vhosts/website1
ServerName website1
</VirtualHost>
<VirtualHost *:80>
DocumentRoot c:/vhosts/website2
ServerName website2
</VirtualHost>
I've tried
192.168.1.125~mywebsite
192.168.1.125:80/mywebsite.
192.168.1.125-mywebsite.
Can anyone help me here? Also what's the English for this? Namespace? Name-server or something?
*I get the error "Object not found" with these.
Name-based serving of apache is based on the actual hostname in the request. To make this work, you have to be able to reference that IP by any names you need. You have to be able to do http://hostname/ and not http://IP for name-based virtual hosts to work.
You can do this either with a hosts file (for a single host) or over DNS. Neither is a programming problem though.
Use virtual hosts. i.e. have something like this in the httpd.conf file:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName <make up a hostname here e.g. example.com>
DocumentRoot "<path to the web site files>"
</VirtualHost>
<Directory "<path to the web site files>">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Then add the following to the to the hosts file in C:\Windows\System32\drivers\etc
127.0.0.1 <made up hostname as above>
Then you can access the web site as http://<hostname as above>
Guess it will be the same for Linux except the file would be /etc/hosts. You can repeat this as often as necessary.
EDIT Use the following it /etc/hosts on both the machine running the server and the machine running the browser
192.168.1.125 website2.example.com
192.168.1.125 website1.example.com
Then edit the two copies of the virtual hosts stuff above using the website1.example.com and website2.example.com
Shot in the dark
Map your testing machines to your server
~/test_machines/web_1
~/test_machines/web_2
~/test_machines/web_3
Then add the site entries to your vhost.conf. Use VirtualDocumentRoot from mod_vhost_alias. You can see the examples here: http://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html

Can't link URL with virtual host [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I am really new to servers and apache however I've been struggling for a while now and maybe somebody can help me.
So I have set up an apache server that works (if I use the IP address I can reach the website and it works properly). I have linked the url with the nameservers and my virtual host file looks like (located in /etc/apache2/sites-available/mysite)
<VirtualHost 12.34.56.78:80>
ServerAdmin admin#mysite1.com
ServerName mysite1.com
ServerAlias www.mysite1.com
DocumentRoot /srv/www/mysite1.com/public_html/
ErrorLog /srv/www/mysite1.com/logs/error.log
CustomLog /srv/www/mysite1.com/logs/access.log combined
</VirtualHost>
The weirdest thing is it worked yesterday and in the meantime I only installed an FTP server ... Any ideas of what I might have done wrong?
Thank you
If this is on Debian, you also need to link your config file in /etc/apache2/sites-available to /etc/apache2/sites-enabled, to let the config scripts know that the file is not only available, but also enabled.
Another thing might want to check is NameVirtualHost 12.34.56.78:80 directive somewhere in Apache config (or, optionally NameVirtualHost *:80).

How to remove port number from http://localhost:8123 to use as http://localhost? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I had to change my default apache port number 80 to 8123 (just random number)
I changed the following files ..
httpd.conf
Listen 8123
ServerName localhost:8123
httpd-vhosts.conf
NameVirtualHost *:8123
<VirtualHost *:8123>
ServerName localhost
DocumentRoot "C:/xampp/htdocs"
DirectoryIndex index.php
</VirtualHost>
Windows Hosts file
127.0.0.1:8123 localhost
::1:8123 localhost
I am using Windows 7.
After making all these changes, I restarted apache but I am still unable to access http://localhost .... however http://localhost:8123 works fine ... can someone help me find what I am doing wrong here? thanks
The only way to do this is to change back to 80, or to install a listener on port 80 (like a proxy) that redirects all your traffic to port 8123.
When you enter a server name without a port, port 80 is assumed by default. AFAIK, there is no way to change this behaviour without changing your browser's source code.
The hosts file does not support the kind of redirection you are trying to do. The rules simply fail.
Edit: ah, it might be possible to change the default port in some browsers. Here's an article in MozillaZine for Firefox.
You can remove it with proxyPass and proxyPassReverse
<VirtualHost *>
ServerName localhost
ProxyPass / http://127.0.0.1:8123/
ProxyPassReverse / http://127.0.0.1:8123/
</VirtualHost>

Reverse Proxy Sending "Internal Server Error" When Sent Non-Standard HTTP Status Code [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 9 years ago.
Improve this question
We're running a JBoss web service behind a reverse proxy, using Apache 2.2.21 on OpenSuSE 12.1. All the services return standard HTTP status codes except for one situation, where we wanted to indicate a particular condition, so we used a non-standard status code, 210.
Everything works as expected except for the one condition where we return 210. After some investigation, I ran wireshark on the connection between JBoss and the proxy, and saw that JBoss was indeed returning 210, but that the proxy was returning 500.
I've tried increasing the Apache log level to debug, but nothing appears in the logs when the error occurs. I've looked on the web for any information about returning non-standard status codes through mod_proxy, with no success.
I'd like to avoid stepping through the Apache code in a debugger, and was wondering if anybody had come across anything like this before.
Here's my proxy configuration:
<VirtualHost *:80>
ServerAdmin webmaster#dummy-host.example.com
ServerName dummy-host.example.com
# don't loose time with IP address lookups
HostnameLookups Off
# needed for named virtual hosts
UseCanonicalName Off
# Avoid open your server to proxying
ProxyRequests Off
# Let apache correctly rewrite redirect
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
ProxyErrorOverride Off
# Let apache pass the original host not the ProxyPass one
ProxyPreserveHost On
</VirtualHost>
Any help would be greatly appreciated.