[Seaside] Safari on Leopard Apache post problem

Boris Popov boris at deepcovelabs.com
Wed Nov 14 22:04:38 UTC 2007


Cool!

-Boris

-- 
+1.604.689.0322
DeepCove Labs Ltd.
4th floor 595 Howe Street
Vancouver, Canada V6C 2T5
http://tinyurl.com/r7uw4

boris at deepcovelabs.com

CONFIDENTIALITY NOTICE

This email is intended only for the persons named in the message
header. Unless otherwise indicated, it contains information that is
private and confidential. If you have received it in error, please
notify the sender and delete the entire message including any
attachments.

Thank you.

> -----Original Message-----
> From: seaside-bounces at lists.squeakfoundation.org [mailto:seaside-
> bounces at lists.squeakfoundation.org] On Behalf Of Roger Whitney
> Sent: Wednesday, November 14, 2007 2:00 PM
> To: Seaside - general discussion
> Subject: Re: [Seaside] Safari on Leopard Apache post problem
> 
> I can report that using the proxy does work - no more problems with
> Safari on Leopard. I ended up using two set of proxy rules. One for
> the seaside applications and another for the VW web server
> configuration pages (see below).
> 
> <IfModule mod_proxy.c>
> 	ProxyRequests Off
> 	ProxyPreserveHost On
> 	<Proxy *>
> 		Order deny,allow
> 		Allow from all
> 	</Proxy>
> 	ProxyPass /registration/configure
http://127.0.0.1:2221/configure
>   	ProxyPassReverse /registration/configure http://127.0.0.1:2221/
> configure
>   	ProxyPass /registration http://127.0.0.1:2221/registration
>   	ProxyPassReverse /registration
http://127.0.0.1:2221/registration
> </IfModule>
> 
> On Nov 14, 2007, at 9:29 AM, Roger Whitney wrote:
> 
> > Boris,
> > 	I found your blog entry on this. I will give it a try. It sure
> > looks more complex than what I was doing  since I did not have to
> > write the perl relay.
> >
> > On Nov 14, 2007, at 12:59 AM, Boris Popov wrote:
> >
> >> Hmm, okay, not quite apples to apples. I've always used a simple
> >> proxy to a tiny http server or swazoo, not the nasty perl relay
> >> hack to ip listener. Any chance you could give that a try? Its a
> >> whole lot simpler to set up, can't remember the exact link to a
> >> sample though.
> >>
> >> Cheers!
> >>
> >> -Boris
> >> (Sent from a BlackBerry)
> >>
> >> ----- Original Message -----
> >> From: seaside-bounces at lists.squeakfoundation.org <seaside-
> >> bounces at lists.squeakfoundation.org>
> >> To: Seaside - general discussion
<seaside at lists.squeakfoundation.org>
> >> Sent: Tue Nov 13 20:38:03 2007
> >> Subject: Re: [Seaside] Safari on Leopard Apache post problem
> >>
> >> Boris,
> >>         On the Leopard machine I start with stock Apache config
> >> file that
> >> ships with Leopard (see below) and add in a separate conf file
> >> that is
> >> included in the httpd.conf file:
> >> ---
> >> ScriptAlias /scandia/2008/ "/Library/WebServer/CGI-Executables/
> >> scandia.pl/"
> >>
> >> <Directory /Library/WebServer/CGI-Executables/>
> >>          Options +FollowSymLinks
> >>          RewriteEngine on
> >>          RewriteCond %{HTTP:Authorization} ^(.*)
> >>          RewriteRule .* - [E=HTTP_AUTHORIZATION:%1]
> >> </Directory>
> >> ---
> >>
> >> (Aside: the rewrite rules above do not work to pass the http
> >> authorization requests). The scandia.pl file is the perl relay file
> >> $visualHome/waveserver/waverelays/perl/visualworks.pl.  The
/Library/
> >> WebServer/CGI-Executables is Apple's CGI-bin directory.
> >>
> >> The httpd.conf file with some comments removed:
> >> ---
> >> ServerRoot "/usr"
> >>
> >> Listen 80
> >>
> >> LoadModule authn_file_module libexec/apache2/mod_authn_file.so
> >> LoadModule authn_dbm_module libexec/apache2/mod_authn_dbm.so
> >> LoadModule authn_anon_module libexec/apache2/mod_authn_anon.so
> >> LoadModule authn_dbd_module libexec/apache2/mod_authn_dbd.so
> >> LoadModule authn_default_module
libexec/apache2/mod_authn_default.so
> >> LoadModule authz_host_module libexec/apache2/mod_authz_host.so
> >> LoadModule authz_groupfile_module libexec/apache2/
> >> mod_authz_groupfile.so
> >> LoadModule authz_user_module libexec/apache2/mod_authz_user.so
> >> LoadModule authz_dbm_module libexec/apache2/mod_authz_dbm.so
> >> LoadModule authz_owner_module libexec/apache2/mod_authz_owner.so
> >> LoadModule authz_default_module
libexec/apache2/mod_authz_default.so
> >> LoadModule auth_basic_module libexec/apache2/mod_auth_basic.so
> >> LoadModule auth_digest_module libexec/apache2/mod_auth_digest.so
> >> LoadModule cache_module libexec/apache2/mod_cache.so
> >> LoadModule disk_cache_module libexec/apache2/mod_disk_cache.so
> >> LoadModule mem_cache_module libexec/apache2/mod_mem_cache.so
> >> LoadModule dbd_module libexec/apache2/mod_dbd.so
> >> LoadModule dumpio_module libexec/apache2/mod_dumpio.so
> >> LoadModule ext_filter_module libexec/apache2/mod_ext_filter.so
> >> LoadModule include_module libexec/apache2/mod_include.so
> >> LoadModule filter_module libexec/apache2/mod_filter.so
> >> LoadModule deflate_module libexec/apache2/mod_deflate.so
> >> LoadModule log_config_module libexec/apache2/mod_log_config.so
> >> LoadModule log_forensic_module libexec/apache2/mod_log_forensic.so
> >> LoadModule logio_module libexec/apache2/mod_logio.so
> >> LoadModule env_module libexec/apache2/mod_env.so
> >> LoadModule mime_magic_module libexec/apache2/mod_mime_magic.so
> >> LoadModule cern_meta_module libexec/apache2/mod_cern_meta.so
> >> LoadModule expires_module libexec/apache2/mod_expires.so
> >> LoadModule headers_module libexec/apache2/mod_headers.so
> >> LoadModule ident_module libexec/apache2/mod_ident.so
> >> LoadModule usertrack_module libexec/apache2/mod_usertrack.so
> >> #LoadModule unique_id_module libexec/apache2/mod_unique_id.so
> >> LoadModule setenvif_module libexec/apache2/mod_setenvif.so
> >> LoadModule version_module libexec/apache2/mod_version.so
> >> LoadModule proxy_module libexec/apache2/mod_proxy.so
> >> LoadModule proxy_connect_module
libexec/apache2/mod_proxy_connect.so
> >> LoadModule proxy_ftp_module libexec/apache2/mod_proxy_ftp.so
> >> LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so
> >> LoadModule proxy_ajp_module libexec/apache2/mod_proxy_ajp.so
> >> LoadModule proxy_balancer_module libexec/apache2/
> >> mod_proxy_balancer.so
> >> LoadModule ssl_module libexec/apache2/mod_ssl.so
> >> LoadModule mime_module libexec/apache2/mod_mime.so
> >> LoadModule dav_module libexec/apache2/mod_dav.so
> >> LoadModule status_module libexec/apache2/mod_status.so
> >> LoadModule autoindex_module libexec/apache2/mod_autoindex.so
> >> LoadModule asis_module libexec/apache2/mod_asis.so
> >> LoadModule info_module libexec/apache2/mod_info.so
> >> LoadModule cgi_module libexec/apache2/mod_cgi.so
> >> LoadModule dav_fs_module libexec/apache2/mod_dav_fs.so
> >> LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
> >> LoadModule negotiation_module libexec/apache2/mod_negotiation.so
> >> LoadModule dir_module libexec/apache2/mod_dir.so
> >> LoadModule imagemap_module libexec/apache2/mod_imagemap.so
> >> LoadModule actions_module libexec/apache2/mod_actions.so
> >> LoadModule speling_module libexec/apache2/mod_speling.so
> >> LoadModule userdir_module libexec/apache2/mod_userdir.so
> >> LoadModule alias_module libexec/apache2/mod_alias.so
> >> LoadModule rewrite_module libexec/apache2/mod_rewrite.so
> >> LoadModule bonjour_module     libexec/apache2/mod_bonjour.so
> >> #LoadModule php5_module        libexec/apache2/libphp5.so
> >> #LoadModule fastcgi_module     libexec/apache2/mod_fastcgi.so
> >>
> >> <IfModule !mpm_netware_module>
> >>
> >> User www
> >> Group www
> >> </IfModule>
> >>
> >>
> >> ServerAdmin you at example.com
> >>
> >>
> >> DocumentRoot "/Library/WebServer/Documents"
> >>
> >> <Directory />
> >>      Options FollowSymLinks
> >>      AllowOverride None
> >>      Order deny,allow
> >>      Deny from all
> >> </Directory>
> >>
> >> <Directory "/Library/WebServer/Documents">
> >>      Options Indexes FollowSymLinks MultiViews
> >>      AllowOverride None
> >>      Order allow,deny
> >>      Allow from all
> >>
> >> </Directory>
> >>
> >> <IfModule dir_module>
> >>      DirectoryIndex index.html
> >> </IfModule>
> >>
> >>
> >> <FilesMatch "^\.([Hh][Tt]|[Dd][Ss]_[Ss])">
> >>      Order allow,deny
> >>      Deny from all
> >>      Satisfy All
> >> </FilesMatch>
> >>
> >>
> >> <Files "rsrc">
> >>      Order allow,deny
> >>      Deny from all
> >>      Satisfy All
> >> </Files>
> >> <DirectoryMatch ".*\.\.namedfork">
> >>      Order allow,deny
> >>      Deny from all
> >>      Satisfy All
> >> </DirectoryMatch>
> >>
> >>
> >> ErrorLog /private/var/log/apache2/error_log
> >>
> >> LogLevel warn
> >>
> >> <IfModule log_config_module>
> >>
> >>      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-
> >> Agent}i\"" combined
> >>      LogFormat "%h %l %u %t \"%r\" %>s %b" common
> >>
> >>      <IfModule logio_module>
> >>        # You need to enable mod_logio.c to use %I and %O
> >>        LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
\"%{User-
> >> Agent}i\" %I %O" combinedio
> >>      </IfModule>
> >>
> >>      #
> >>      # The location and format of the access logfile (Common
Logfile
> >> Format).
> >>      # If you do not define any access logfiles within a
> >> <VirtualHost>
> >>      # container, they will be logged here.  Contrariwise, if you
> >> *do*
> >>      # define per-<VirtualHost> access logfiles, transactions will
be
> >>      # logged therein and *not* in this file.
> >>      #
> >>      CustomLog /private/var/log/apache2/access_log common
> >>
> >>      #
> >>      # If you prefer a logfile with access, agent, and referer
> >> information
> >>      # (Combined Logfile Format) you can use the following
directive.
> >>      #
> >>      #CustomLog /private/var/log/apache2/access_log combined
> >> </IfModule>
> >>
> >> <IfModule alias_module>
> >>
> >>      #
> >>      # ScriptAlias: This controls which directories contain server
> >> scripts.
> >>      # ScriptAliases are essentially the same as Aliases, except
that
> >>      # documents in the target directory are treated as
> >> applications and
> >>      # run by the server when requested rather than as documents
sent
> >> to the
> >>      # client.  The same rules about trailing "/" apply to
> >> ScriptAlias
> >>      # directives as to Alias.
> >>      #
> >>      ScriptAliasMatch ^/cgi-bin/((?!(?i:webobjects)).*$) "/Library/
> >> WebServer/CGI-Executables/$1"
> >>
> >> </IfModule>
> >>
> >> <IfModule cgid_module>
> >>
> >> </IfModule>
> >>
> >> #
> >> # "/Library/WebServer/CGI-Executables" should be changed to
whatever
> >> your ScriptAliased
> >> # CGI directory exists, if you have that configured.
> >> #
> >> <Directory "/Library/WebServer/CGI-Executables">
> >>      AllowOverride None
> >>      Options None
> >>      Order allow,deny
> >>      Allow from all
> >> </Directory>
> >>
> >> DefaultType text/plain
> >>
> >> <IfModule mime_module>
> >>
> >>      TypesConfig /private/etc/apache2/mime.types
> >>
> >>      AddType application/x-compress .Z
> >>      AddType application/x-gzip .gz .tgz
> >>
> >>      #
> >>      # AddHandler allows you to map certain file extensions to
> >> "handlers":
> >>      # actions unrelated to filetype. These can be either built
into
> >> the server
> >>      # or added with the Action directive (see below)
> >>      #
> >>      # To use CGI scripts outside of ScriptAliased directories:
> >>      # (You will also need to add "ExecCGI" to the "Options"
> >> directive.)
> >>      #
> >>      #AddHandler cgi-script .cgi
> >>
> >>      # For type maps (negotiated resources):
> >>      #AddHandler type-map var
> >>
> >>      #
> >>      # Filters allow you to process content before it is sent to
the
> >> client.
> >>      #
> >>      # To parse .shtml files for server-side includes (SSI):
> >>      # (You will also need to add "Includes" to the "Options"
> >> directive.)
> >>      #
> >>      #AddType text/html .shtml
> >>      #AddOutputFilter INCLUDES .shtml
> >> </IfModule>
> >>
> >> #
> >> # The mod_mime_magic module allows the server to use various hints
> >> from the
> >> # contents of the file itself to determine its type.  The
> >> MIMEMagicFile
> >> # directive tells the module where the hint definitions are
located.
> >> #
> >> #MIMEMagicFile /private/etc/apache2/magic
> >>
> >> #
> >> # Customizable error responses come in three flavors:
> >> # 1) plain text 2) local redirects 3) external redirects
> >> #
> >> # Some examples:
> >> #ErrorDocument 500 "The server made a boo boo."
> >> #ErrorDocument 404 /missing.html
> >> #ErrorDocument 404 "/cgi-bin/missing_handler.pl"
> >> #ErrorDocument 402 http://www.example.com/subscription_info.html
> >> #
> >>
> >> #
> >> # EnableMMAP and EnableSendfile: On systems that support it,
> >> # memory-mapping or the sendfile syscall is used to deliver
> >> # files.  This usually improves server performance, but must
> >> # be turned off when serving from networked-mounted
> >> # filesystems or if support for these functions is otherwise
> >> # broken on your system.
> >> #
> >> #EnableMMAP off
> >> #EnableSendfile off
> >>
> >> # Supplemental configuration
> >> #
> >> # The configuration files in the /private/etc/apache2/extra/
> >> directory
> >> can be
> >> # included to add extra features or to modify the default
> >> configuration of
> >> # the server, or you may simply copy their contents here and
> >> change as
> >> # necessary.
> >>
> >> # Server-pool management (MPM specific)
> >> Include /private/etc/apache2/extra/httpd-mpm.conf
> >>
> >> # Multi-language error messages
> >> #Include /private/etc/apache2/extra/httpd-multilang-errordoc.conf
> >>
> >> # Fancy directory listings
> >> Include /private/etc/apache2/extra/httpd-autoindex.conf
> >>
> >> # Language settings
> >> Include /private/etc/apache2/extra/httpd-languages.conf
> >>
> >> # User home directories
> >> Include /private/etc/apache2/extra/httpd-userdir.conf
> >>
> >> # Real-time info on requests and configuration
> >> #Include /private/etc/apache2/extra/httpd-info.conf
> >>
> >> # Virtual hosts
> >> #Include /private/etc/apache2/extra/httpd-vhosts.conf
> >>
> >> # Local access to the Apache HTTP Server Manual
> >> Include /private/etc/apache2/extra/httpd-manual.conf
> >>
> >> # Distributed authoring and versioning (WebDAV)
> >> #Include /private/etc/apache2/extra/httpd-dav.conf
> >>
> >> # Various default settings
> >> #Include /private/etc/apache2/extra/httpd-default.conf
> >>
> >> # Secure (SSL/TLS) connections
> >> #Include /private/etc/apache2/extra/httpd-ssl.conf
> >> #
> >> # Note: The following must must be present to support
> >> #       starting without SSL on platforms with no /dev/random
> >> equivalent
> >> #       but a statically compiled-in mod_ssl.
> >> #
> >> <IfModule ssl_module>
> >> SSLRandomSeed startup builtin
> >> SSLRandomSeed connect builtin
> >> </IfModule>
> >>
> >> Include /private/etc/apache2/other/*.conf
> >> On Nov 13, 2007, at 6:22 PM, Boris Popov wrote:
> >>
> >> > That's pretty much the same configuration I'm using and we
haven't
> >> > seen
> >> > this problem yet. Could you perhaps post your Apache config so we
> >> > could
> >> > compare?
> >> >
> >> >
> >> >> -----Original Message-----
> >> >> From: seaside-bounces at lists.squeakfoundation.org
[mailto:seaside-
> >> >> bounces at lists.squeakfoundation.org] On Behalf Of Roger Whitney
> >> >> Sent: Tuesday, November 13, 2007 4:20 PM
> >> >> To: Seaside - general discussion
> >> >> Subject: [Seaside] Safari on Leopard Apache post problem
> >> >>
> >> >> I have a problem with the new Safari on Leopard (Mac OS 10.5)
> >> >> accessing a Seaside application running behind Apache and hope
> >> >> someone
> >> >> can shed some light on it.
> >> >>
> >> >> I am using Seaside 2.8 on VW 7.5. When I run Seaside as a
> >> standalone
> >> >> web server in VW (the tiny Web server in VW) Safari in Leopard
> >> has no
> >> >> problems accessing the Seaside application. When I run the
Seaside
> >> >> application behind Apache there is no problem with Firefox,
> >> Opera and
> >> >> older versions of Safari accessing the application.
> >> >>
> >> >> When I use Safari 3.0.4, which comes on Leopard, there are
> >> problems
> >> >> with posts from a seaside page. The problem occurs not only on
my
> >> >> code
> >> >> but in Functional Seaside Test Suite examples. When I click on a
> >> >> button to submit a form the bowser says it is contacting the
> >> server
> >> >> and seems to wait for ever without timing out. On the server
> >> side I
> >> >> first get the POST request. According to the log file 15 seconds
> >> >> later
> >> >> I get a GET request. The server and client are running on the
same
> >> >> machine (Dual Core), so there is no network delay. A few seconds
> >> >> later
> >> >> a second GET request comes from Safari. If I stop the request
from
> >> >> Safari and then have it reload the page I do get the reply to
the
> >> > post.
> >> >>
> >> >> Since Safari 3.0.4 does work when talking directly to the VW web
> >> >> server there is some problem with Safari 3.0.4 and Apache. Does
> >> >> anyone
> >> >> have any idea how to configure Apache to avoid this?
Unfortunately
> >> >> some of my users can only access port 80, so I have to run
behind
> >> >> Apache.
> >> >>
> >> >>
> >> >>
> >> >> ----
> >> >> Roger Whitney              Department of Computer Science
> >> >> whitney at cs.sdsu.edu        San Diego State University
> >> >> http://www.eli.sdsu.edu/   San Diego, CA 92182-7720
> >> >>
> >> >>
> >> >> _______________________________________________
> >> >> seaside mailing list
> >> >> seaside at lists.squeakfoundation.org
> >> >>
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> >> > _______________________________________________
> >> > seaside mailing list
> >> > seaside at lists.squeakfoundation.org
> >> >
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> >> >
> >> >
> >>
> >>
> >>
> >> ----
> >> Roger Whitney              Department of Computer Science
> >> whitney at cs.sdsu.edu        San Diego State University
> >> http://www.eli.sdsu.edu/   San Diego, CA 92182-7720
> >>
> >>
> >> _______________________________________________
> >> seaside mailing list
> >> seaside at lists.squeakfoundation.org
> >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> >> _______________________________________________
> >> seaside mailing list
> >> seaside at lists.squeakfoundation.org
> >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> >
> >
> >
> > ----
> > Roger Whitney              Department of Computer Science
> > whitney at cs.sdsu.edu        San Diego State University
> > http://www.eli.sdsu.edu/   San Diego, CA 92182-7720
> >
> >
> > _______________________________________________
> > seaside mailing list
> > seaside at lists.squeakfoundation.org
> > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> >
> 
> 
> 
> ----
> Roger Whitney              Department of Computer Science
> whitney at cs.sdsu.edu        San Diego State University
> http://www.eli.sdsu.edu/   San Diego, CA 92182-7720
> 
> 
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside


More information about the seaside mailing list