> My etc/hosts file on the VM looks like this currently:
> 127.0.0.1 localhost
> 127.0.0.1 bbb-vm-20101001-00.localdomain bbb-vm-20101001-00
> 192.168.0.25 75.163.75.245
The last line above will not work, because it doesn't map an IP address
to a host name. Since you want the outside world to see the outside name
of your server, you need to define the inside name to be the same.
Something like this should work, assuming there is an external DNS entry
for the host name.
192.168.0.25 75.163.75.245.xxx.qwest.net
--
Russell Mosemann
________________________________________________________
Concordia University, Nebraska
See http://www.cune.edu/ for the latest news and events!
I see the home page. When I enter the demo meeting, I get
java.lang.NullPointerException
More details are below. It looks like BBB can't figure out the URL for the meeting.
--
Russell Mosemann
java.lang.NullPointerException
at org.apache.jsp.demo.demo1_jsp.getJoinURL(demo1_jsp.java:168)
at org.apache.jsp.demo.demo1_jsp._jspService(demo1_jsp.java:624)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.processFilterChain(UrlMappingsFilter.java:263)
at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:205)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.obtainContent(GrailsPageFilter.java:221)
at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jsecurity.web.servlet.JSecurityFilter.doFilterInternal(JSecurityFilter.java:384)
at org.jsecurity.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:183)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:65)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:636)
This error
at org.apache.jsp.demo.demo1_jsp.getJoinURL(demo1_jsp.java:168)
is caused when the BigBlueButton server can't resolve the URL defined in
/var/lib/tomcat6/webapps/bigbluebutton/demo/bbb_api_conf.jsp
What happens is it's making a call to itself to retrieve some XML, but
the call fails and the XML parser throws an exception on a null link.
For example, here's what's defined on our demo.bigbluebutton.org server
<%!
// This is the security salt that must match the value set in the
BigBlueButton server
String salt = "<salt>";
// This is the URL for the BigBlueButton server
String BigBlueButtonURL = "http://demo.bigbluebutton.org/bigbluebutton/";
%>
On your BigBlueButton server, can you login and try
wget -O - --quiet http://75.163.75.245/bigbluebutton/api
and see if it returns
<response><returncode>SUCCESS</returncode><version>0.7</version></response>
If it does not, this is the root of your exception. You need to
modify your server so the above URL will resolve when run on your
BigBlueButton server.
Regards,... Fred
> --
> You received this message because you are subscribed to the Google Groups "BigBlueButton-Setup" group.
> To post to this group, send email to bigbluebu...@googlegroups.com.
> To unsubscribe from this group, send email to bigbluebutton-s...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/bigbluebutton-setup?hl=en.
>
>
OK, so 75.163.75.245 is resolving, but I think what's happening now is
nginx needs to proxy incoming request for BigBlueButton to their
associated components (web, red5, desktop sharing, and tomcat6), and
it's not matching an incoming request to 75.163.75.245.
If you look in /etc/nginx/sites-available/bigbluebutton, you should
see the lines
server {
listen 80;
server_name demo.bigbluebutton.org;
Your server_name must match the IP/hostname for incoming requests.
Can you check the settings for server_name and see if they match
75.163.75.245. If not, try
sudo bbb-conf --setip 75.163.75.245
Regards,... Fred
Can you try setting the IP address of the BigBlueButton server to
75.163.75.245; this way, the wget command should resolve to itself.
Regards,... Fred
Attempting to resolve 75.163.75.245 internally or 192.168.0.25 externally will be fruitless.
mose
They take effect immediately. In /etc/nginx/sites-available/bigbluebutton, is server_name defined as 75.163.75.245.xxxx.qwest.net?
mose
mose
> -----Original Message-----
> From: bigbluebu...@googlegroups.com [mailto:bigbluebutton-
> --
> You received this message because you are subscribed to the Google Groups
> "BigBlueButton-Setup" group.
> To post to this group, send email to bigbluebu...@googlegroups.com.
> To unsubscribe from this group, send email to bigbluebutton-
> setup+un...@googlegroups.com.
You are right in that using a DNS name, not IP address, is the way to
successfully setup access to a BigBlueButton server that is behind a
firewall.
In general, here are the steps (covered in the FAQ, but summarized here):
1) Setup an external DNS name that points to the IP address of your
firewall, such as
myserver.myhost.com -> 75.163.75.245
2) The firewall at 75.163.75.245 must route incoming requests on port
80, 1935, and 9123 to the internal IP address of the BigBlueButton
server, which for example lets say is at 192.168.0.12.
3) The BigBlueButton server at 129.168.0.12 must be configured to
process incoming request to myserver.myhost.com using
sudo bbb-conf --setip myserver.myhost.com
4) To ensure the BigBlueButton server itself knows about
myserver.myhost.com, you must make an entry in /etc/hosts for
myserver.myhost.com that resolves to the internal IP address
192.168.0.12 myserver.myhost.com
If you follow the above steps, then using a external DNS entry, you
should be able to setup external access to your BigBlueButton behind a
firewall.
Regards,... Fred