Deprecated: Function register_sidebar_widget is deprecated since version 2.8.0! Use wp_register_sidebar_widget() instead. in /mnt/web221/b1/51/512220951/htdocs/wp-includes/functions.php on line 6078 Deprecated: Function register_widget_control is deprecated since version 2.8.0! Use wp_register_widget_control() instead. in /mnt/web221/b1/51/512220951/htdocs/wp-includes/functions.php on line 6078 Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /mnt/web221/b1/51/512220951/htdocs/wp-content/plugins/wordpress-seo/src/conditionals/third-party/elementor-edit-conditional.php on line 22 Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /mnt/web221/b1/51/512220951/htdocs/wp-content/plugins/wordpress-seo/src/conditionals/third-party/elementor-edit-conditional.php on line 28 Warning: Constant FORCE_SSL_ADMIN already defined in /mnt/web221/b1/51/512220951/htdocs/wp-config.php on line 94 Warning: Cannot modify header information - headers already sent by (output started at /mnt/web221/b1/51/512220951/htdocs/wp-includes/functions.php:6078) in /mnt/web221/b1/51/512220951/htdocs/wp-includes/rest-api/class-wp-rest-server.php on line 1831 Warning: Cannot modify header information - headers already sent by (output started at /mnt/web221/b1/51/512220951/htdocs/wp-includes/functions.php:6078) in /mnt/web221/b1/51/512220951/htdocs/wp-includes/rest-api/class-wp-rest-server.php on line 1831 Warning: Cannot modify header information - headers already sent by (output started at /mnt/web221/b1/51/512220951/htdocs/wp-includes/functions.php:6078) in /mnt/web221/b1/51/512220951/htdocs/wp-includes/rest-api/class-wp-rest-server.php on line 1831 Warning: Cannot modify header information - headers already sent by (output started at /mnt/web221/b1/51/512220951/htdocs/wp-includes/functions.php:6078) in /mnt/web221/b1/51/512220951/htdocs/wp-includes/rest-api/class-wp-rest-server.php on line 1831 Warning: Cannot modify header information - headers already sent by (output started at /mnt/web221/b1/51/512220951/htdocs/wp-includes/functions.php:6078) in /mnt/web221/b1/51/512220951/htdocs/wp-includes/rest-api/class-wp-rest-server.php on line 1831 Warning: Cannot modify header information - headers already sent by (output started at /mnt/web221/b1/51/512220951/htdocs/wp-includes/functions.php:6078) in /mnt/web221/b1/51/512220951/htdocs/wp-includes/rest-api/class-wp-rest-server.php on line 1831 Deprecated: Return type of Yoast\WP\Lib\Model::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web221/b1/51/512220951/htdocs/wp-content/plugins/wordpress-seo/lib/model.php on line 560 Deprecated: Return type of Yoast\WP\Lib\ORM::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web221/b1/51/512220951/htdocs/wp-content/plugins/wordpress-seo/lib/orm.php on line 2457 Deprecated: Return type of Yoast\WP\Lib\ORM::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web221/b1/51/512220951/htdocs/wp-content/plugins/wordpress-seo/lib/orm.php on line 2468 Deprecated: Return type of Yoast\WP\Lib\ORM::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web221/b1/51/512220951/htdocs/wp-content/plugins/wordpress-seo/lib/orm.php on line 2478 Deprecated: Return type of Yoast\WP\Lib\ORM::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web221/b1/51/512220951/htdocs/wp-content/plugins/wordpress-seo/lib/orm.php on line 2490
WordPress database error: [Table 'dbs9686871.yoast_wp_seo_models_indexable' doesn't exist]SELECT * FROM `yoast_wp_seo_models_indexable` WHERE `object_id` = '206' AND `object_type` = 'post' LIMIT 1
WordPress database error: [Table 'dbs9686871.yoast_wp_seo_models_indexable' doesn't exist]SELECT * FROM `yoast_wp_seo_models_indexable` WHERE `object_id` = '206' AND `object_type` = 'post' LIMIT 1
WordPress database error: [Table 'dbs9686871.yoast_wp_seo_models_primary_term' doesn't exist]SELECT * FROM `yoast_wp_seo_models_primary_term` WHERE `post_id` = '206' AND `taxonomy` = 'category' LIMIT 1
WordPress database error: [Table 'dbs9686871.yoast_wp_seo_models_primary_term' doesn't exist]SELECT * FROM `yoast_wp_seo_models_primary_term` WHERE `post_id` = '206' AND `taxonomy` = 'category' LIMIT 1
WordPress database error: [Table 'dbs9686871.yoast_wp_seo_models_indexable_hierarchy' doesn't exist]DELETE FROM `yoast_wp_seo_models_indexable_hierarchy` WHERE `indexable_id` = NULL
WordPress database error: [Table 'dbs9686871.yoast_wp_seo_models_indexable' doesn't exist]SELECT * FROM `yoast_wp_seo_models_indexable` WHERE `object_id` = '1' AND `object_type` = 'user' LIMIT 1
WordPress database error: [Table 'dbs9686871.yoast_wp_seo_models_indexable' doesn't exist]SELECT * FROM `yoast_wp_seo_models_indexable` WHERE `object_id` = '1' AND `object_type` = 'user' LIMIT 1
WordPress database error: [Table 'dbs9686871.yoast_wp_seo_models_indexable' doesn't exist]SELECT `id` FROM `yoast_wp_seo_models_indexable` WHERE `object_type` = 'post' AND `object_sub_type` IN ('post') AND `author_id` = '1' AND `is_public` = '1' LIMIT 1
WordPress database error: [Table 'dbs9686871.yoast_wp_seo_models_indexable' doesn't exist]SELECT `id` FROM `yoast_wp_seo_models_indexable` WHERE `object_type` = 'post' AND `object_sub_type` IN ('post') AND `author_id` = '1' AND `is_public` = '1' LIMIT 1
WordPress database error: [Table 'dbs9686871.yoast_wp_seo_models_indexable' doesn't exist]SELECT `id` FROM `yoast_wp_seo_models_indexable` WHERE `object_type` = 'post' AND `object_sub_type` IN ('post') AND `author_id` = '1' AND `is_public` IS NULL LIMIT 1
WordPress database error: [Table 'dbs9686871.yoast_wp_seo_models_indexable' doesn't exist]SELECT `id` FROM `yoast_wp_seo_models_indexable` WHERE `object_type` = 'post' AND `object_sub_type` IN ('post') AND `author_id` = '1' AND `is_public` IS NULL LIMIT 1
WordPress database error: [Table 'dbs9686871.yoast_wp_seo_models_indexable' doesn't exist]INSERT INTO `yoast_wp_seo_models_indexable` (`object_type`, `object_id`, `permalink`, `title`, `description`, `is_cornerstone`, `is_robots_noindex`, `is_robots_nofollow`, `is_robots_noarchive`, `is_robots_noimageindex`, `is_robots_nosnippet`, `is_public`, `has_public_posts`, `blog_id`, `open_graph_image`, `open_graph_image_id`, `open_graph_image_source`, `open_graph_image_meta`, `twitter_image`, `twitter_image_id`, `twitter_image_source`, `version`, `permalink_hash`, `created_at`, `updated_at`) VALUES ('user', '1', 'https://www.rickroetenberg.com/author/admin/', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, '0', '1', 'https://secure.gravatar.com/avatar/bc3d8afa4c08e3c680ab5b8233ba4b80?s=500&d=mm&r=g', NULL, 'gravatar-image', NULL, 'https://secure.gravatar.com/avatar/bc3d8afa4c08e3c680ab5b8233ba4b80?s=500&d=mm&r=g', NULL, 'gravatar-image', '1', '44:d0c42e6c0b758b5b57289e1ac097bf08', '2024-05-03 14:53:10', '2024-05-03 14:53:10')
WordPress database error: [Table 'dbs9686871.yoast_wp_seo_models_indexable' doesn't exist]INSERT INTO `yoast_wp_seo_models_indexable` (`object_type`, `object_id`, `object_sub_type`, `permalink`, `primary_focus_keyword_score`, `readability_score`, `is_cornerstone`, `is_robots_noindex`, `is_robots_nofollow`, `is_robots_noimageindex`, `is_robots_noarchive`, `is_robots_nosnippet`, `open_graph_image`, `open_graph_image_id`, `open_graph_image_source`, `open_graph_image_meta`, `twitter_image`, `twitter_image_id`, `twitter_image_source`, `primary_focus_keyword`, `canonical`, `title`, `description`, `breadcrumb_title`, `open_graph_title`, `open_graph_description`, `twitter_title`, `twitter_description`, `estimated_reading_time_minutes`, `author_id`, `post_parent`, `number_of_pages`, `post_status`, `is_protected`, `is_public`, `has_public_posts`, `blog_id`, `schema_page_type`, `schema_article_type`, `version`, `has_ancestors`, `permalink_hash`, `created_at`, `updated_at`) VALUES ('post', '206', 'post', 'https://www.rickroetenberg.com/citrix-netscaler-as-forward-proxy/', '84', '0', '0', NULL, '0', NULL, NULL, NULL, 'https://www.rickroetenberg.com/wp-content/uploads/Citrix_ForwardProxy_101003-e1422195330386.jpg', '210', 'featured-image', '{\"width\":451,\"height\":174,\"url\":\"https://www.rickroetenberg.com/wp-content/uploads/Citrix_ForwardProxy_101003-e1422195330386.jpg\",\"path\":\"/mnt/web221/b1/51/512220951/htdocs/wp-content/uploads/Citrix_ForwardProxy_101003-e1422195330386.jpg\",\"size\":\"full\",\"id\":210,\"alt\":\"\",\"pixels\":78474,\"type\":\"image/jpeg\"}', 'https://www.rickroetenberg.com/wp-content/uploads/Citrix_ForwardProxy_101003-e1422195330386.jpg', '210', 'featured-image', 'Citrix NetScaler as Forward Proxy', NULL, NULL, 'Citrix NetScaler Forward Proxy, NetScaler, Citrix, forward proxy, Citrix NetScaler, Cache redirection, Load Balancing, Citrix NetScaler as Forward Proxy', 'Citrix NetScaler as Forward Proxy', NULL, NULL, NULL, NULL, NULL, '1', '0', NULL, 'publish', '0', NULL, NULL, '1', NULL, NULL, '1', '', '65:cfd2ada95e9aca1d457bef1ea864f3c3', '2024-05-03 14:53:10', '2024-05-03 14:53:10')
WordPress database error: [Table 'dbs9686871.yoast_wp_seo_models_indexable' doesn't exist]SELECT * FROM `yoast_wp_seo_models_indexable` WHERE `object_type` = 'home-page' LIMIT 1
WordPress database error: [Table 'dbs9686871.yoast_wp_seo_models_indexable' doesn't exist]SELECT * FROM `yoast_wp_seo_models_indexable` WHERE `object_type` = 'home-page' LIMIT 1
WordPress database error: [Table 'dbs9686871.yoast_wp_seo_models_indexable' doesn't exist]INSERT INTO `yoast_wp_seo_models_indexable` (`object_type`, `title`, `breadcrumb_title`, `permalink`, `blog_id`, `description`, `is_robots_noindex`, `open_graph_title`, `open_graph_image`, `open_graph_image_id`, `open_graph_description`, `open_graph_image_source`, `open_graph_image_meta`, `version`, `permalink_hash`, `created_at`, `updated_at`) VALUES ('home-page', '%%sitename%% %%page%% %%sep%% %%sitedesc%%', 'Home', 'https://www.rickroetenberg.com/', '1', 'Technical Consultant', '0', '%%sitename%%', '', '0', '', NULL, NULL, '1', '31:7850956d7f1a75f01d7a0f54a38d6390', '2024-05-03 14:53:10', '2024-05-03 14:53:10')
WordPress database error: [Table 'dbs9686871.yoast_wp_seo_models_indexable_hierarchy' doesn't exist]SELECT `ancestor_id` FROM `yoast_wp_seo_models_indexable_hierarchy` WHERE `indexable_id` = '0' ORDER BY `depth` DESC
WordPress database error: [Table 'dbs9686871.yoast_wp_seo_models_indexable_hierarchy' doesn't exist]SELECT `ancestor_id` FROM `yoast_wp_seo_models_indexable_hierarchy` WHERE `indexable_id` = '0' ORDER BY `depth` DESC
WordPress database error: [Table 'dbs9686871.yoast_wp_seo_models_indexable_hierarchy' doesn't exist]DELETE FROM `yoast_wp_seo_models_indexable_hierarchy` WHERE `indexable_id` = '0'
In this blog I will describe how to configure the Citrix NetScaler as Forward Proxy. This installation\/screenshots are\u00a0based on an NetScaler VPX 1000 Platinum license, so there could be some slide differents between the screenshots. The Citrix NetScaler is a good product for replacing Microsoft TMG. Microsoft TMG is end-of-life so customers a searching for another solution. Besides Forward Proxy the Citrix NetScaler could also be an Reserve Proxy. This will be explained in another blog shortly.<\/p>\n
<\/p>\n
In order to use the Citrix NetScaler as forward proxy you should have at least the NetScaler Enterprise or NetScaler Platinum edition license available, because the cache redirection feature needs to configured for this.<\/p>\n
<\/strong>Select System, Settings, Configure Advanced Fea<\/strong>tures<\/strong><\/p>\n Select at least\u00a0Cache Redirection <\/strong>and click OK<\/strong><\/p>\n Select Configure Basic Features<\/strong><\/p>\n Select at least Content Filter <\/strong>and Load Balancing <\/strong>and click OK<\/strong><\/p>\n The Cache Redirection Feature requires an DNS Load Balancing VIP in order to work. So this is the first step.<\/p>\n Select Traffic Management, Load Balancing, Servers<\/strong><\/p>\n Click Add<\/strong><\/p>\n \u00a0<\/strong>Server Name: <\/strong>I used ExternalGateway because I have just one DNS server in my homelab. Create for every DNS server you want to use an Server.<\/p>\n Select Service Group<\/strong><\/p>\n Click Add<\/strong><\/p>\n Name: <\/strong>DNSServer (choose the Name you want) Click OK<\/strong><\/p>\n Click on Members <\/strong>under Advanced<\/strong> on the right side<\/p>\n Click on No Service Group Member<\/strong><\/p>\n Select Server Based Click Create<\/strong><\/p>\n If you want to add more, select x Service Group Member(s) and repeat above steps!! Else click Done<\/strong><\/p>\n \u00a0<\/strong><\/strong><\/p>\n Select Virtual Servers<\/strong><\/p>\n Click Add<\/strong><\/p>\n <\/strong><\/p>\n Name: ExternalDNS (or something else) Click OK<\/strong><\/p>\n I selected Non Addressable because I don\u2019t have to have access to this Load Balancing DNS Virtual Server outside the Citrix NetScaler<\/strong><\/p>\n \u00a0<\/strong>Click OK<\/strong><\/p>\n Click on Service Group\u00a0<\/strong>under Advanced<\/strong> on the right side<\/p>\n Click on No Load Balancing Virtual Server ServiceGroup Binding<\/strong><\/p>\n Click on Click to select<\/strong><\/p>\n Select DNSServer <\/strong>(or the name you choose in the above steps) Click on Bind<\/strong><\/p>\n Click Done<\/strong><\/p>\n Now we can create an cache redirection server<\/strong><\/p>\n Select Traffic Management, Cache Redirection, Virtual Servers<\/strong>\u00a0<\/strong><\/p>\n Click Add<\/strong>\u00a0<\/strong><\/p>\n <\/strong><\/p>\n Name<\/strong>: The Virtual Server Name you like Click OK<\/strong><\/p>\n Click on Policies <\/strong>under Advanced<\/strong> on the right side<\/p>\n Click on To add, please click on the + icon<\/strong>\u00a0<\/strong><\/p>\n Choose Policy: Filter<\/strong><\/p>\n Click\u00a0Continue<\/strong><\/p>\n Click Click to select <\/strong>to bind policies<\/p>\n Click Add<\/strong>\u00a0<\/strong><\/p>\n Filter Name: <\/strong>Dropsites With this expression every request will be dropped by the NetScaler unless you requesting www.rickroetenberg.com<\/a><\/p>\n Another example:Create DNS Load Balancing<\/strong><\/h2>\n
\nIPAddress: <\/strong>Enter the IPAddress of the DNS server<\/span><\/p>\n
\nProtocol<\/strong>: DNS<\/span><\/p>\n
\n<\/strong>Server Name:<\/strong>\u00a0select at least one of the created Servers.
\nPort<\/strong>: 53<\/p>\n
\n<\/strong>Protocol: DNS
\n<\/strong>IP Address Type: Non Addressable<\/strong>\u00a0<\/strong><\/p>\n
\nClick OK<\/strong><\/p>\nCreate Cache Redirection Server\u00a0<\/strong>\u00a0<\/strong><\/h2>\n
\nProtocol: <\/strong>HTTP
\nIP Address: <\/strong>The IP Address the Virtual Server should respond on (this IP Address needs to be configured on the clients as well)
\nPort: <\/strong>The Port the Virtual Server should respond on
\nCache Type: <\/strong>FORWARD<\/p>\nI choose Filter as policy because I want to create rules which server as access to a particular website.<\/strong><\/h3>\n
\nExpression: <\/strong>REQ.HTTP.HEADER Host NOTCONTAINS www.rickroetenberg.com
\nRequest Action: <\/strong>Drop<\/p>\n
\nREQ.HTTP.HEADER Host CONTAINS www.rickroetenberg.com && REQ.IP.SOURCEIP == 10.0.0.102<\/p>\n