diff --git a/roles/libwww/tasks/main.yml b/roles/libwww/tasks/main.yml index 821597a6fb..4d0608feae 100644 --- a/roles/libwww/tasks/main.yml +++ b/roles/libwww/tasks/main.yml @@ -32,7 +32,6 @@ notify: restart apache - ########### Drupal Start ###### # Drupal after this @@ -84,7 +83,7 @@ notify: restart apache - name: libwww | ensure MaxRequestWorkers is set for system use - lineinfile: + template: dest: "/etc/apache2/mods-available/mpm_prefork.conf" regexp: "\\s*MaxRequestWorkers\\s*150" line: "\tMaxRequestWorkers\t 388" diff --git a/roles/libwww/templates/proxy_pass_rules.j2 b/roles/libwww/templates/proxy_pass_rules.j2 index 578cc5b409..475f9d38b6 100644 --- a/roles/libwww/templates/proxy_pass_rules.j2 +++ b/roles/libwww/templates/proxy_pass_rules.j2 @@ -4,131 +4,6 @@ RewriteEngine on RewriteCond %{HTTP_HOST} !^library.princeton.edu$ RewriteRule (.*) https://library.princeton.edu$1 [R=301,L] -## For NJMAPS -ProxyPass /njmaps http://libphp-prod.princeton.edu/njmaps -ProxyPassReverse /njmaps http://libphp-prod.princeton.edu/njmaps - -## Photoduplication Quoting System -# ProxyPass /photoduplication/ http://libwebdev.princeton.edu/photoduplication/ -# ProxyPassReverse /photoduplication/ http://libwebdev.princeton.edu/photoduplication/ - -### For Video Reserves -ProxyPass /hrc/ http://libphp-dev.princeton.edu/hrc/ -ProxyPassReverse /hrc/ http://libphp-dev.princeton.edu/hrc/ - -### For East Asian Library -ProxyPass /eastasian/robe http://libphp-prod.princeton.edu/eastasian/robe -ProxyPassReverse /eastasian/robe http://libphp-prod.princeton.edu/eastasian/robe - -## Front Matter -ProxyPass /eastasian/frontmatter http://libphp-prod.princeton.edu/eastasian/frontmatter -ProxyPassReverse /eastasian/frontmatter http://libphp-prod.princeton.edu/eastasian/frontmatter - -### For East Asian Library -ProxyPass /eastasian/nadlLogin http://libphp-prod.princeton.edu/eastasian/nadlLogin -ProxyPassReverse /eastasian/nadlLogin http://libphp-prod.princeton.edu/eastasian/nadlLogin - -## For East Asian Library -ProxyPass /eastasian/newtitles http://libphp-prod.princeton.edu/eastasian/newtitles -ProxyPassReverse /eastasian/newtitles http://libphp-prod.princeton.edu/eastasian/newtitles - -## Staff EAL -ProxyPass /eastasian/stafftools http://libphp-prod.princeton.edu/eastasian/stafftools -ProxyPassReverse /eastasian/stafftools http://libphp-prod.princeton.edu/eastasian/stafftools - -## For East Asian Library -ProxyPass /eastasian/oclcpinyin http://libphp-prod.princeton.edu/eastasian/oclcpinyin -ProxyPassReverse /eastasian/oclcpinyin http://libphp-prod.princeton.edu/eastasian/oclcpinyin - -## For East Asian Library -ProxyPass /eastasian/diglib http://libphp-prod.princeton.edu/eastasian/diglib -ProxyPassReverse /eastasian/diglib http://libphp-prod.princeton.edu/eastasian/diglib - -## For East Asian Library -ProxyPass /eastasian/assets http://libphp-prod.princeton.edu/eastasian/assets/ -ProxyPassReverse /eastasian/assets http://libphp-prod.princeton.edu/eastasian/assets/ - -### EAL -ProxyPass /eastasian/EALJ http://libphp-prod.princeton.edu/eastasian/EALJ -ProxyPassReverse /eastasian/EALJ http://libphp-prod.princeton.edu/eastasian/EALJ - -### EAL -ProxyPass /eastasian/shadowfigures http://libphp-prod.princeton.edu/eastasian/shadowfigures -ProxyPassReverse /eastasian/shadowfigures http://libphp-prod.princeton.edu/eastasian/shadowfigures - - ## Romanizer -ProxyPass /eastasian/korroman/KoreanNameRomanizer.zip http://libphp-prod.princeton.edu/eastasian/korroman/KoreanNameRomanizer.zip -ProxyPassReverse /eastasian/korroman/KoreanNameRomanizer.zip http://libphp-prod.princeton.edu/eastasian/korroman/KoreanNameRomanizer.zip -ProxyPass /locator/ http://libwebprod.princeton.edu/locator/ -ProxyPassReverse /locator/ http://libwebprod.princeton.edu/locator/ - -ProxyPass /illiad/ https://lib-illiad.princeton.edu/illiad/ -ProxyPassReverse /illiad/ https://lib-illiad.princeton.edu/illiad/ - -ProxyPass /aeon/ https://lib-aeon.princeton.edu/aeon/ -ProxyPassReverse /aeon/ https://lib-aeon.princeton.edu/aeon/ - -ProxyPass /AeonBibRequest/ https://lib-aeon.princeton.edu/AeonBibRequest/ -ProxyPassReverse /AeonBibRequest/ https://lib-aeon.princeton.edu/AeonBibRequest/ - -# For Restricted Databases (legacy) -ProxyPass /dbrestricted http://libwebprod.princeton.edu/dbrestricted -ProxyPassReverse /dbrestricted http://libwebprod.princeton.edu/dbrestricted - -ProxyPass /resolve/lookup http://libphp-prod.princeton.edu/resolve/lookup -ProxyPassReverse /resolve/lookup http://libphp-prod.princeton.edu/resolve/lookup - -## for byzantine -ProxyPass /byzantine http://libphp-prod.princeton.edu/byzantine -ProxyPassReverse /byzantine http://libphp-prod.princeton.edu/byzantine - -# for requests and locator -ProxyPass /locator http://libwebprod.princeton.edu/resolve/locator -ProxyPassReverse /locator http://libwebprod.princeton.edu/locator - -ProxyPass /requests http://libwebprod.princeton.edu/requests -ProxyPassReverse /requests http://libwebprod.princeton.edu/requests - -#ProxyPass /catalogs/restricted http://libserv39.princeton.edu/catalogs/restricted -#ProxyPassReverse /catalogs/restricted http://libserv39.princeton.edu/catalogs/restricted - -# Papyrus -ProxyPass /papyrus http://libserv39.princeton.edu/papyrus/ -ProxyPassReverse /papyrus http://libserv39.princeton.edu/papyrus/ - -# OLD RBSC Stuff -ProxyPass /libraries/firestone/rbsc http://libserv39.princeton.edu/libraries/firestone/rbsc -ProxyPassReverse /libraries/firestone/rbsc http://libserv39.princeton.edu/libraries/firestone/rbsc - -# For RePEc -ProxyPass /econlib/RePEc/pri http://libruby-prod.princeton.edu/econlib/RePEc/pri -ProxyPassReverse /econlib/RePEc/pri http://libruby-prod.princeton.edu/econlib/RePEc/pri - -# For ancient images -ProxyPass /images/ http://libserv39.princeton.edu/images/ -ProxyPassReverse /images/ http://libserv39.princeton.edu/images/ - -## For lib-dbserver migration -ProxyPass /AssignedSpaceApplication https://lib-dbserver.princeton.edu/AssignedSpaceApplication -ProxyPassReverse /AssignedSpaceApplication https://lib-dbserver.princeton.edu/AssignedSpaceApplication - -ProxyPass /AssignedSpaces https://lib-dbserver.princeton.edu/AssignedSpaces -ProxyPassReverse /AssignedSpaces https://lib-dbserver.princeton.edu/AssignedSpaces - -ProxyPass /E-Series https://lib-dbserver.princeton.edu/E-Series -ProxyPassReverse /E-Series https://lib-dbserver.princeton.edu/E-Series - -ProxyPass /PreservationTracking https://lib-dbserver.princeton.edu/PreservationTracking -ProxyPassReverse /PreservationTracking https://lib-dbserver.princeton.edu/PreservationTracking - -ProxyPass /RBVisuals https://lib-dbserver.princeton.edu/RBVisuals -ProxyPassReverse /RBVisuals https://lib-dbserver.princeton.edu/RBVisuals - -ProxyPass /shib http://libphp-prod.princeton.edu/shib -ProxyPassReverse /shib http://libphp-prod.princeton.edu/shib - -ProxyPass /scripts http://libphp-prod.princeton.edu/scripts -ProxyPassReverse /scripts http://libphp-prod.princeton.edu/scripts - -ProxyPass /style http://libserv39.princeton.edu/style -ProxyPassReverse /style http://libserv39.princeton.edu/style +## "{{ proxy_and_reverse_proxy.Name }}" +ProxyPass "{{ proxy_and_reverse_proxy.src }}" "{{ proxy_and_reverse_proxy.dest }}" +ProxyPassReverse "{{ proxy_and_reverse_proxy.src }}" "{{ proxy_and_reverse_proxy.dest }}" diff --git a/roles/nginxplus/files/conf/http/templates/dss-proxy-pass.conf b/roles/nginxplus/files/conf/http/templates/dss-proxy-pass.conf deleted file mode 100644 index e6bcd62e41..0000000000 --- a/roles/nginxplus/files/conf/http/templates/dss-proxy-pass.conf +++ /dev/null @@ -1,31 +0,0 @@ -location /contacts { - proxy_pass https://dss2.princeton.edu/contacts; -} - -location /css { - proxy_pass https://dss2.princeton.edu/css; -} - -location /images { - proxy_pass https://dss2.princeton.edu/images; -} - -location /online_help { - proxy_pass https://dss2.princeton.edu/online_help; -} - -location /training { - proxy_pass https://dss2.princeton.edu/training; -} - -location /about.html { - proxy_pass https://dss2.princeton.edu/about.html; -} - -location /weblog { - proxy_pass https://dss2.princeton.edu/weblog; -} - -location /dsslab { - proxy_pass https://dss2.princeton.edu/dsslab; -} diff --git a/roles/nginxplus/files/conf/http/templates/libwww-proxy-pass-prod.conf b/roles/nginxplus/files/conf/http/templates/libwww-proxy-pass-prod.conf deleted file mode 100644 index 71a4612208..0000000000 --- a/roles/nginxplus/files/conf/http/templates/libwww-proxy-pass-prod.conf +++ /dev/null @@ -1,66 +0,0 @@ - rewrite ^/locator/(.*)$ https://locator-prod.princeton.edu/$1 redirect; - rewrite ^/special-collections/mudd-dbs(.*)$ /mudd-dbs$1 redirect; - rewrite ^/research-data(.*)$ https://researchdata.princeton.edu redirect; - rewrite ^/hours(.*)$ https://libcal.princeton.edu/hours redirect; - rewrite ^/AssignedSpaceApplication(.*)$ https://lockers-and-study-spaces.princeton.edu/ redirect; - rewrite ^/AssignedSpaces https://lockers-and-study-spaces.princeton.edu/ redirect; - - location /mudd-dbs { - proxy_pass https://lib-mudd-prod.princeton.edu/; - } - - rewrite ^/special-collections/republic(.*)$ /republic/$1 redirect; - location /republic/ { - proxy_pass https://lib-static-prod.princeton.edu/republic/; - } - - location /firestone/renovations/ { - proxy_pass https://lib-static-prod.princeton.edu/; - } - - rewrite ^/special-collections/thankful-nation(.*)$ /thankful-nation/$1 redirect; - location /thankful-nation/ { - proxy_pass https://lib-static-prod.princeton.edu/thankful-nation/; - } - - rewrite ^/special-collections/capping-liberty(.*)$ /capping-liberty/$1 redirect; - location /capping-liberty/ { - proxy_pass https://lib-static-prod.princeton.edu/capping-liberty/; - } - - rewrite ^/special-collections/pathebaby(.*)$ /pathebaby/$1 redirect; - location /pathebaby/ { - proxy_pass http://libphp-prod.princeton.edu/pathebaby/; - } - - rewrite ^/special-collections/hogarth(.*)$ /hogarth/$1 redirect; - location /hogarth/ { - proxy_pass https://lib-static-prod.princeton.edu/hogarth/; - } - - rewrite ^/special-collections/jameslyon(.*)$ /jameslyon/$1 redirect; - location /jameslyon/ { - proxy_pass https://lib-static-prod.princeton.edu/jameslyon/; - } - - rewrite ^/special-collections/versailles(.*)$ /versailles/$1 redirect; - location /versailles/ { - proxy_pass https://lib-static-prod.princeton.edu/versailles/; - } - - location /njmaps/ { - proxy_pass https://lib-static-prod.princeton.edu/njmaps/; - } - - location /special-collections { - proxy_pass https://lib-sc-prod.princeton.edu/special-collections/; - proxy_connect_timeout 2h; - proxy_send_timeout 2h; - proxy_read_timeout 2h; - } - - location /econlib/RePEc/pri { - proxy_pass https://repec-prod.princeton.edu/; - } - -# Note! All new sites should proxy_pass to https not http diff --git a/roles/nginxplus/files/conf/http/templates/libwww-proxy-pass.conf b/roles/nginxplus/files/conf/http/templates/libwww-proxy-pass.conf deleted file mode 100644 index 73b1e74491..0000000000 --- a/roles/nginxplus/files/conf/http/templates/libwww-proxy-pass.conf +++ /dev/null @@ -1,150 +0,0 @@ -# 16 libphp-prod - location /byzantine { - proxy_pass http://libphp-prod.princeton.edu/byzantine; - } - location /resolve { - proxy_pass http://libphp-prod.princeton.edu/resolve; - } - location /eastasian/newtitles { - proxy_pass http://libphp-prod.princeton.edu/eastasian/newtitles; - } - location /eastasian/frontmatter { - proxy_pass http://libphp-prod.princeton.edu/eastasian/frontmatter; - } - location /eastasian/stafftools { - proxy_pass http://libphp-prod.princeton.edu/eastasian/stafftools; - } - location /eastasian/hishi { - proxy_pass http://libphp-prod.princeton.edu/eastasian/hishi; - } - location /eastasian/nadlLogin { - proxy_pass http://libphp-prod.princeton.edu/eastasian/nadlLogin; - } - location /eastasian/oclcpinyin { - proxy_pass http://libphp-prod.princeton.edu/eastasian/oclcpinyin; - } - location /eastasian/diglib { - proxy_pass http://libphp-prod.princeton.edu/eastasian/diglib; - } - location /eastasian/korroman/KoreanNameRomanizer.zip { - proxy_pass http://libphp-prod.princeton.edu/eastasian/korroman/KoreanNameRomanizer.zip; - } - location /eastasian/addpinyin-plugin-marcedit/InstallAddPinyin.zip { - proxy_pass http://libphp-prod.princeton.edu/eastasian/addpinyin-plugin-marcedit/InstallAddPinyin.zip; - } - location /eastasian/assets { - proxy_pass http://libphp-prod.princeton.edu/eastasian/assets; - } - location /eastasian/EALJ { - proxy_pass http://libphp-prod.princeton.edu/eastasian/EALJ; - } - location /eastasian/shadowfigures { - proxy_pass http://libphp-prod.princeton.edu/eastasian/shadowfigures; - } - location /shib { - proxy_pass http://libphp-prod.princeton.edu/shib; - } - location /scripts { - proxy_pass http://libphp-prod.princeton.edu/scripts; - } - - # dpul - location /projects/islamic { - return 301 https://dpul.princeton.edu/islamicmss; - } - - # 5 libserv39 - location /catalogs/pdfs { - proxy_pass http://libserv39.princeton.edu/catalogs/pdfs; - } - location /departments/tsd { - proxy_pass http://libserv39.princeton.edu/departments/tsd; - } - location /libraries/firestone/rbsc { - proxy_pass http://libserv39.princeton.edu/libraries/firestone/rbsc; - } - location /projects { - proxy_pass http://libserv39.princeton.edu/projects; - } - location /libraries/cotsen { - proxy_pass http://libserv39.princeton.edu/libraries/cotsen; - } - - # 1 lib-illiad - location /illiad { - proxy_pass https://lib-illiad.princeton.edu/illiad/; - } - - # 2 lib-aeon - location /aeon { - proxy_pass https://lib-aeon.princeton.edu/aeon/; - } - location /AeonBibRequest { - proxy_pass https://lib-aeon.princeton.edu/AeonBibRequest/; - } - - # 12 lib-dbserver - location /PreservationRequest { - proxy_pass https://lib-dbserver.princeton.edu/PreservationRequest/; - } - location /PreservationTracking { - proxy_pass https://lib-dbserver.princeton.edu/PreservationTracking/; - } - location /ppl2 { - proxy_pass https://lib-dbserver.princeton.edu/ppl2/; - } - location /ppl { - proxy_pass https://lib-dbserver.princeton.edu/ppl/; - } - # bb, Circus, hb, maps, Misc & pulc and Scheide are off of lib-dbserver - location /visual_materials/bb { - proxy_pass https://lib-static-prod.princeton.edu/visual_materials/bb/; - } - location /visual_materials/Circus { - proxy_pass https://lib-static-prod.princeton.edu/visual_materials/Circus/; - } - location /visual_materials/hb { - proxy_pass https://lib-static-prod.princeton.edu/visual_materials/hb/; - } - location /visual_materials/maps { - proxy_pass https://lib-static-prod.princeton.edu/visual_materials/maps/; - } - location /visual_materials/Misc/ { - proxy_pass https://lib-static-prod.princeton.edu/visual_materials/Misc/; - } - location /visual_materials/pulc { - proxy_pass https://lib-static-prod.princeton.edu/visual_materials/pulc/; - } - location /visual_materials/Scheide { - proxy_pass https://lib-static-prod.princeton.edu/visual_materials/Scheide/; - } - location /visual_materials { - proxy_pass https://lib-dbserver.princeton.edu/visual_materials; - } - location /mssimages { - proxy_pass https://lib-static-prod.princeton.edu/mssimages/; - } - location /geaccirc { - proxy_pass https://lib-dbserver.princeton.edu/geaccirc/; - } - location /music/programs { - proxy_pass https://lib-dbserver.princeton.edu/music/programs/; - } - location /music/ReelToReel { - proxy_pass https://lib-dbserver.princeton.edu/music/ReelToReel/; - } - - # 1 libphp-dev - location /hrc { - proxy_pass http://libphp-dev.princeton.edu/hrc/; - } - - proxy_ssl_server_name on; - - rewrite ^/papyrus(.*)$ https://dpul.princeton.edu/papyri redirect; - - location /mudd-exhibits/ { - proxy_pass https://lib-static-prod.princeton.edu/mudd-exhibits/; - } - -# Note! All new sites should proxy_pass to https not http \ No newline at end of file diff --git a/roles/nginxplus/files/conf/http/templates/pudl_proxy_pass.conf b/roles/nginxplus/files/conf/http/templates/pudl_redirects.conf similarity index 100% rename from roles/nginxplus/files/conf/http/templates/pudl_proxy_pass.conf rename to roles/nginxplus/files/conf/http/templates/pudl_redirects.conf diff --git a/roles/nginxplus/tasks/conf/upload-config.yml b/roles/nginxplus/tasks/conf/upload-config.yml index 18103e3850..98d2838734 100644 --- a/roles/nginxplus/tasks/conf/upload-config.yml +++ b/roles/nginxplus/tasks/conf/upload-config.yml @@ -22,6 +22,8 @@ mode: 0755 when: nginx_template_upload_enable +# this task uploads the static config Files + - name: "Setup: Upload NGINX HTTP Configuration Files" copy: src: "{{ item }}" @@ -33,6 +35,13 @@ when: nginx_http_upload_enable tags: update_conf + # TO-DO + # add a task here that generates a dynamic config Files + # from templates/http/libwww-https-proxy-pass.j2 + # using the data in vars/proxies_by_box.yml + # probably should also rename the template, since it contains + # more than just proxy passes now + - name: "Setup: Upload NGINX template Configuration Files" copy: src: "{{ item }}" diff --git a/roles/nginxplus/templates/http/default.conf.j2 b/roles/nginxplus/templates/http/default.conf.j2 index 503a31e0f1..e251fadd3a 100644 --- a/roles/nginxplus/templates/http/default.conf.j2 +++ b/roles/nginxplus/templates/http/default.conf.j2 @@ -1,4 +1,4 @@ -{{ ansible_managed | comment }} +# {{ ansible_managed | comment }} {% if item.value.upstreams is defined and item.value.upstreams %} {% for upstream in item.value.upstreams %} diff --git a/roles/nginxplus/templates/http/libwww-https-proxy-pass.j2 b/roles/nginxplus/templates/http/libwww-https-proxy-pass.j2 new file mode 100644 index 0000000000..a07cddd898 --- /dev/null +++ b/roles/nginxplus/templates/http/libwww-https-proxy-pass.j2 @@ -0,0 +1,88 @@ +## { ansible_managed } +# this template includes all redirect rules +# and uses proxies_by_box.yml to create proxy rules for nginx + +proxy_ssl_server_name on; + +rewrite ^/papyrus(.*)$ https://dpul.princeton.edu/papyri redirect; +rewrite ^/locator/(.*)$ https://locator-prod.princeton.edu/$1 redirect; +rewrite ^/special-collections/mudd-dbs(.*)$ /mudd-dbs$1 redirect; +rewrite ^/research-data(.*)$ https://researchdata.princeton.edu redirect; +rewrite ^/hours(.*)$ https://libcal.princeton.edu/hours redirect; +rewrite ^/AssignedSpaceApplication(.*)$ https://lockers-and-study-spaces.princeton.edu/ redirect; +rewrite ^/AssignedSpaces https://lockers-and-study-spaces.princeton.edu/ redirect; + +# these rewrite rules also have related proxy_pass rules +rewrite ^/special-collections/republic(.*)$ /republic/$1 redirect; +rewrite ^/special-collections/thankful-nation(.*)$ /thankful-nation/$1 redirect; +rewrite ^/special-collections/capping-liberty(.*)$ /capping-liberty/$1 redirect; +rewrite ^/special-collections/pathebaby(.*)$ /pathebaby/$1 redirect; +rewrite ^/special-collections/hogarth(.*)$ /hogarth/$1 redirect; +rewrite ^/special-collections/jameslyon(.*)$ /jameslyon/$1 redirect; +rewrite ^/special-collections/versailles(.*)$ /versailles/$1 redirect; + +# this is our only remaining hard-coded proxy rule +# proxies_by_box.yml does not include this data +location /special-collections { + proxy_pass https://lib-sc-prod.princeton.edu/special-collections/; + proxy_connect_timeout 2h; + proxy_send_timeout 2h; + proxy_read_timeout 2h; +} + +# sites that run on dss2 + +{% for item in dss2_proxies %} + location /"{{ item }}" { + proxy_pass "https://dss2.princeton.edu/{{ item }}"; + } +{% endfor %} + +# sites that run on lib-dbserver + +{% for item in lib-dbserver_proxies %} + location /"{{ item }}" { + proxy_pass "https://lib-dbserver.princeton.edu/{{ item }}"; + } +{% endfor %} + +# sites that run on libphp-prod + +{% for item in lib-phpprod_proxies %} + location /"{{ item }}" { + proxy_pass "https://libphp-prod.princeton.edu/{{ item }}"; + } +{% endfor %} + +# sites that run on libserv39 + +{% for item in libserv39_proxies %} + location /"{{ item }}" { + proxy_pass "https://libserv39.princeton.edu/{{ item }}"; + } +{% endfor %} + +# sites that run on lib-static-prod + +{% for item in lib-static-prod_proxies %} + location /"{{ item }}" { + proxy_pass "https://lib-static-prod.princeton.edu/{{ item }}"; + } +{% endfor %} + +# sites that run on libwebprod + +{% for item in libwebprod_proxies %} + location /"{{ item }}" { + proxy_pass "https://libwebprod.princeton.edu/{{ item }}"; + } +{% endfor %} + +# other sites we need to proxy + +{% for item in other_proxies %} + location /"{{ item.src }}" { + proxy_pass "https://{{ item.host }}.princeton.edu/{{ item.url }}"; + } +{% endfor %} + diff --git a/roles/nginxplus/vars/proxies_by_box.yml b/roles/nginxplus/vars/proxies_by_box.yml new file mode 100644 index 0000000000..66584d20ab --- /dev/null +++ b/roles/nginxplus/vars/proxies_by_box.yml @@ -0,0 +1,141 @@ +# list of proxy directives +# organized by the working servers + +- dss2_proxies: + - about.html + - contacts + - css + - dsslab + - images + - online_help + - training + - weblog + +- lib-dbserver_proxies: + - AssignedSpaceApplication + - AssignedSpaces + - E-Series + - geaccirc +# LibraryStaff + - music/programs + - music/ReelToReel + - ppl + - ppl2 + - PreservationRequest + - PreservationTracking + - RBVisuals + - visual_materials + +- libphp-prod_proxies: + - byzantine + - eastasian/addpinyin-plugin-marcedit/InstallAddPinyin.zip + - eastasian/assets + - eastasian/diglib + - eastasian/EALJ + - eastasian/frontmatter + - eastasian/hishi + - eastasian/nadlLogin + - eastasian/newtitles + - eastasian/oclcpinyin + - eastasian/robe + - eastasian/korroman/KoreanNameRomanizer.zip + - eastasian/shadowfigures + - eastasian/stafftools +# hrc == Video Reserves, original had a trailing slash + - hrc + - njmaps + - pathebaby + - resolve + - resolve/lookup + - scripts + - shib + +- libserv39_proxies: + - catalogs/pdfs +# - catalogs/restricted + - departments/tsd +# the "images" entry was marked "ancient images" in the libwww role + - images + - libraries/cotsen + - libraries/firestone/rbsc + - papyrus + - projects + - style + +- lib-static-prod_proxies: + - capping-liberty + - hogarth + - jameslyon + - mssimages + - mudd-exhibits + - njmaps + - republic + - thankful-nation + - versailles + - visual_materials/bb + - visual_materials/Circus + - visual_materials/hb + - visual_materials/maps + - visual_materials/Misc + - visual_materials/pulc + - visual_materials/Scheide + + + +- libwebprod_proxies: + - dbrestricted +# do we need 'locator' both with and without the trailing slash? + - locator + - locator/ +# - photoduplication + - requests + +- other_proxies: + - Aeon + host: lib-aeon + src: aeon + url: aeon + - Aeon Bib Request + host: lib-aeon + src: AeonBibRequest + url: AeonBibRequest +# is this correct? source URL is /projects/islamic +# but destination URL is /islamicmss ??? + - dpul + host: dpul + src: projects/islamic + url: islamicmss +# this proxy goes from /firestone/renovations +# to https://lib-static-prod.princeton.edu/ +# TO-DO - test that using '[]' works correctly + - firestone renovations + host: lib-static-prod + src: /firestone/renovations/ + url: [] + - hrc + host: libphp-dev + src: hrc + url: hrc + - illiad + host: lib-illiad + src: illiad + url: illiad +# this proxy goes from /mudd-dbs to +# https://lib-mudd-prod.princeton.edu/ +# TO-DO - test that using '[]' works correctly + - mudd-dbs + host: lib-mudd-prod + src: mudd-dbs + url: [] +# - Photoduplication Quoting System +# host: libwebdev +# src: photoduplication +# url: photoduplication + - RePEc + host: libruby-prod + src: econlib/RePEc/pri + url: econlib/RePEc/pri +# not sure if this is the correct proxy rule +# there was another entry that proxied from /econlib/RePEc/pri +# to https://repec-prod.princeton.edu/ +